Advanced search  

News:

CPG Release 1.6.26
Correct PHP8.2 issues with user and language managers.
Additional fixes for PHP 8.2
Correct PHP8 error with SMF 2.0 bridge.
Correct IPTC supplimental category parsing.
Download and info HERE

Pages: [1]   Go Down

Author Topic: Опять про кодировку - имена юзеров при инте&  (Read 9324 times)

0 Members and 1 Guest are viewing this topic.

DennisVV

  • Coppermine newbie
  • Offline Offline
  • Posts: 3

Здравствуйте уважаемые!
была галерея 1.4.10, обновил ее до 1.5.6
БД была в cp1251, сделал дамп перегнав ее в utf8 и соответственно обратно залив уже в новой кодировке, т.е. в utf8, но кодировка стала utf8_general_ci (я думал она будет utf8_bin)

далее: есть форум phpbb-3.0.7 и все пользователи находятся в БД форума... БД форума в кодировке utf8_bin, и все юзвери галереи берутся из БД форума

теперь проблема: при интеграции галереи с форумом, все русские имена пользователей а также групп (тоже русскими буквами) которые берутся из форума отображаются знаками вопроса
до конвертации была проблема и с названиями категорий и альбомов, но после вот этих манипуляций http://forum.coppermine-gallery.net/index.php/topic,49624.msg238431.html#msg238431 категории и альбомы стали отображаться нормально, а вот юзеры и их группы никак не могу побороть, чтобы не было абракадабры...
нашел вот этот рецепт http://forum.coppermine-gallery.net/index.php/topic,28253.msg177319.html#msg177319 , но это для 1.4.х и таких строк в файле bridgemgr.php я не нашел
не думаю, что ошибка может возникать из-за того что форум в кодировке utf8_bin, а галерея в utf8_general_ci... или я ошибаюсь?

подскажите пожалуйста, как побороть сей недуг, т.е. чтобы имена пользователей на русском отображались корректно?
искренне надеюсь на вашу помощь!
заранее благодарен!
Logged

DennisVV

  • Coppermine newbie
  • Offline Offline
  • Posts: 3

ну неужели никто не сможет мне помочь??? :(
Logged

Makc666

  • Moderator
  • Coppermine addict
  • ****
  • Offline Offline
  • Gender: Male
  • Posts: 1614
  • Русский (ISO-8859-1) - Russian - Русский (Windows)
    • Makc's home page

но это для 1.4.х и таких строк в файле bridgemgr.php я не нашел

Для начала определитесь, пожалуйста, с какой версией галереи мы работаем, а то вы сначала говорите о 1.5.*, а потом о 1.4.*.

ну неужели никто не сможет мне помочь??? :(

Никто не мешает вам поменять сравнение для базы с unt8_general_ci на utf8_bin или наоборот.
Достаточно слить дамп базы в режиме совместимости с версией mysql40, создать новую базу с нужным сравнением и импортировать обратно.
Я везде используют utf8_general_ci.

Дальше Вам нужно установить phpMyAdmin, зайти через него в каждую базу по очереди и внутри выполнить запрос:
Code: [Select]
SHOW VARIABLES;
И разместить ответы тут.

Так же ознакомьтесь с темой: http://forum.coppermine-gallery.net/index.php/topic,66649.0.html, а точнее с её вторым постом.

В версии 1.5.* нет необходимости прописывать SET NAMES cp1251 везде подряд.
А начиная с версии 1.5.8 достаточно просто указать переменную в файле конфигурации.
Logged

kastorskiy

  • Coppermine newbie
  • Offline Offline
  • Posts: 5

Столкнулся с аналогичной проблемой, кириличные логины в коментариях отображаются вопросами (так же, вопросами они записываюся в базу, в таблицу cpg15x_comments, поле msg_author), причём сам коментарий в нормальной кодировке.
В моём случае, галерею и форум ставил с нуля, а не обновлял, у меня форум SMF 2.0 и галерея 1.5.12. Единая база форма и базы в кодировке UTF-8.
Logged

kastorskiy

  • Coppermine newbie
  • Offline Offline
  • Posts: 5

Единая база форма и базы в кодировке UTF-8.
Опечатался, база форума и галереи имелось в виду.

З.Ы. А почему тут нельзя редактировать сообщения хотя-бы в течении небольшого времени?
Logged

Makc666

  • Moderator
  • Coppermine addict
  • ****
  • Offline Offline
  • Gender: Male
  • Posts: 1614
  • Русский (ISO-8859-1) - Russian - Русский (Windows)
    • Makc's home page

Попробуйте так...

Открыть файл:
./include/functions.inc.php

Найти функцию:
Code: [Select]
function cpg_db_query($query, $use_link_id = 0)
{
...
}

Перед строкой:
Code: [Select]
$result = mysql_query($query, $link_id);
Добавить код:
Code: [Select]
if ($CONFIG['dbcharset']) {
    mysql_query("SET NAMES '$CONFIG[dbcharset]'",$result);
}
   
Logged

Ulenka

  • Coppermine novice
  • *
  • Offline Offline
  • Posts: 32

Не помогла последняя рекомендация:(
Кодировка базы форума и галереи (в одной базе) одинаковая - utf8_bin.
Есть ли еще решение?
Logged

Janvio

  • Coppermine regular visitor
  • **
  • Offline Offline
  • Posts: 62

Я тоже много пробывал, но вот только это решение помогло.
1. Находим в папке coppermine файл bridgemgr.php
в нем ищем строку:
$link = mysql_connect($_POST['db_hostname'], $_POST['db_username'], $_POST['db_password']);

сразу после нее дописываем еще одну строку:
mysql_query("SET NAMES UTF8", $link);

аналогично находим строку:
$link = @mysql_connect($BRIDGE['db_hostname'], $BRIDGE['db_username'], $BRIDGE['db_password']);

и добавляем сразу после нее:
mysql_query("SET NAMES UTF8", $link);

2. В файле coppermine\include\functions.inc.php ищем строку:
$result = @mysql_connect($CONFIG['dbserver'], $CONFIG['dbuser'], $CONFIG['dbpass']);

после нее добавляем
mysql_query("SET NAMES UTF8", $result);

3. В файле coppermine\bridge\udb_base.inc.php ищем строку:
$this->link_id = mysql_connect($this->db['host'], $this->db['user'], $this->db['password']);

после нее добавляем:
mysql_query("SET NAMES UTF8", $this->link_id);
Logged
Pages: [1]   Go Up
 

Page created in 0.029 seconds with 19 queries.