Advanced search  

News:

cpg1.5.48 Security release - upgrade mandatory!
The Coppermine development team is releasing a security update for Coppermine in order to counter a recently discovered vulnerability. It is important that all users who run version cpg1.5.46 or older update to this latest version as soon as possible.
[more]

Pages: [1]   Go Down

Author Topic: Опять про кодировку - имена юзеров при инте&  (Read 5116 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.024 seconds with 20 queries.