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 [2]   Go Down

Author Topic: Интеграция и имена в пользователей  (Read 59527 times)

0 Members and 1 Guest are viewing this topic.

Makc666

  • Moderator
  • Coppermine addict
  • ****
  • Offline Offline
  • Gender: Male
  • Posts: 1614
  • Русский (ISO-8859-1) - Russian - Русский (Windows)
    • Makc's home page
Re: Проблема с русскими никами
« Reply #20 on: September 29, 2006, 11:40:09 am »

В галерее русские ники отображаются знаками вопроса, в частности в "Альбомах пользователей"
Форум IPB 1.3.1, галерея 1.4.9 интегрированная в форум
И форум и галерея работают в кодировке UTF-8
Еще замечено, в настройках групп имена групп тоже отображаются знаками вопроса.
Подскажите, пожалуйста, как это вылечить.
Спасибо.
Переношу тему сюда:
http://forum.coppermine-gallery.net/index.php?topic=28253.0

Не хватает данных.
Галерея 1.4.9 ставился с нуля?
А почему такая уверенность, что IPB работает в UTF-8?
Она может данные хранить в UTF-8 в базе данных, но обрабатывать эти данный она может и в Windows-1251
Что-то мне подсказывает, что проблема именно в этом...
« Last Edit: March 31, 2009, 09:19:23 am by Makc666 »
Logged

vglick

  • Coppermine novice
  • *
  • Offline Offline
  • Gender: Male
  • Posts: 35
    • http://www.diving-club.com

С нуля ставилась галерея 1.4.4, когда обнаружилась проблема с русскими никами проапгрейдил до 1.4.9, думал поможет.
В IPB все языковые файлы переконвертировал в UTF8, все таблицы в базе в UTF8, collation UTF8. После этого весь форум стал в знаках вопроса пока в функцию подключения к базе не добавил mysql_query("set names utf8");
После установки галереи в свою базу не обратил внимание на кодировку. Переконвертировал базу галереи в UTF8, collation UTF8. После этого вся галерея (почти вся) стала в знаках вопроса пока в функцию подключения к базе не добавил mysql_query("set names utf8");
Теперь имею, что писал выше. Вот вся история. Я уже не знаю где копать дальше.
« Last Edit: March 31, 2009, 09:18:57 am by Makc666 »
Logged

vglick

  • Coppermine novice
  • *
  • Offline Offline
  • Gender: Male
  • Posts: 35
    • http://www.diving-club.com

Удивительные вещи происходят.
Сейчас установил и форум и галерею (все, что работает в сети) на Денвер.
Никаких проблем нигде нет, все корректно. Локально!
А в сети - русские ники не показываются.
Может что-то с базой? Тогда и локально было бы криво.
Не понимаю  ???
« Last Edit: March 31, 2009, 09:18:43 am by Makc666 »
Logged

pipemba

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

имею такую же проблему..
как ее решить?

ޫ?a>
« Last Edit: March 31, 2009, 09:18:31 am by Makc666 »
Logged

Varrah

  • Coppermine newbie
  • Offline Offline
  • Posts: 17

Возрадуемся, братья! Ж-)

Короче так: цпг не передает БД информации о том, в какой кодировке он пишет данные, равно как и получает, конечно же. Таким образом БД думает, что цпг использует дефолтовую кодировку (какая кодировка стоит по умолчанию в БД - смотреть, понятное дело в настройках БД) потому и информацию, которую записал в БД пхпбб она выдает в цпг не в нужной кодировке (которую указал при записи пхпбб), а в дефолтной, например кои8 или латин-1. Чтобы такого не происходило достаточно при каждом коннекте цпг к МуСКЛу добавить простой запрос вида "SET NAMES <charset>" где <charset> - кодировка в которой работает пхпбб и ваша галерея. Кодировка должна быть одинаковой и галереи и пхпбб, иначе глюк все равно вылезет. Возможно, вообще-то, сделать так, чтобы кодировка бралась из конфигов пхпбб и затем использовалась только при запросах к таблицам пхпбб, но это уже вопрос к разработчикам бридж-менеджера и т.п.
Пока я могу лишь предложить решение для случая когда и цпг и пхпбб работают, например в кодировке виндоувз-1251.

Итак:
0. Дочитайте это сообщение до конца.
0,5. Сделайте бэкап изменяемых ниже файлов
0,6. Сделайте бэкап базы

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

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

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

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

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

после нее добавляем
mysql_query("SET NAMES cp1251", $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 cp1251", $this->link_id);

собственно все.

Да, важный момент: после всего этого безобразия с кодом, если в вашей галерее уже было много русских названий, комментов и пр. - все станет нечитаемым, т.к. теперь БД наконец-то начтне выдавать вам байты текста, перекодируя их в вин-1251. Потому либо руками, либо при помощи каких-либо инструментов для перекодировки содержимого БД перекодируйте ваши тексты в нужные кодировки. В моем случае все делалось практически сразу после установки цпг, потому я все переделал руками (всего-то строчек пять было).

Если вы используете не вин-1251, а какую-то другую кодировку, то проверьте, как она называется в стандарте МуСКЛа. Сделать это можно здесь: http://dev.mysql.com/doc/refman/4.1/en/charset-charsets.html

Ну вроде все....
« Last Edit: March 31, 2009, 09:18:26 am by Makc666 »
Logged

pipemba

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

а если форум ипб и кодировка кои8?
« Last Edit: March 31, 2009, 09:18:19 am by Makc666 »
Logged

gtplus

  • Coppermine newbie
  • Offline Offline
  • Posts: 3

Добрый день.. Заранее извиняюсь если моя проблема давно обсуждалась..

Имеем PHPBB 2.0.19 и CPG 1.4.3. после создания bridge все работает, только вот имена пользователей, написанные русскими буквами отображаются некорректно. Уже два дня ищу решения.. мозги кипят..  ???
Проблема кодирунга, либо phpBB или Gallery
« Last Edit: March 31, 2009, 09:18:06 am by Makc666 »
Logged

vglick

  • Coppermine novice
  • *
  • Offline Offline
  • Gender: Male
  • Posts: 35
    • http://www.diving-club.com

Проблема кодирунга, либо phpBB или Gallery
Конструктивный ответ, главное что помогает решить проблему.
« Last Edit: March 31, 2009, 09:18:02 am by Makc666 »
Logged

vglick

  • Coppermine novice
  • *
  • Offline Offline
  • Gender: Male
  • Posts: 35
    • http://www.diving-club.com

Обратил внимание, что знаками вопроса отбражаются не только русские ники, но и названия групп, которые тоже на русском языке.
И ники и названия групп берутся из базы форума, в базе форума все отображается корректно и на самом форуме тоже.
Исходя из этого могу предположить, что сбой происходит при передаче данных из форума в галерею.
Но галерея интегрирована с форумом, так может быть проблема в файлах, отвечающих за интеграцию?
Т.е. bridgemgr.php и invisionboard13.inc.php
Может кто-нибудь поможет разобраться, из знающих php? 
« Last Edit: March 31, 2009, 09:17:57 am by Makc666 »
Logged

Varrah

  • Coppermine newbie
  • Offline Offline
  • Posts: 17

см выше
уже все расписал
« Last Edit: March 31, 2009, 09:17:49 am by Makc666 »
Logged

vglick

  • Coppermine novice
  • *
  • Offline Offline
  • Gender: Male
  • Posts: 35
    • http://www.diving-club.com

см выше, уже все расписал
Большое спасибо, все отлично работает.
Т.к. у меня все работает в кодировке UTF-8, то руками ничего править не пришлось.
Спасибо!
« Last Edit: March 31, 2009, 09:17:45 am by Makc666 »
Logged

vglick

  • Coppermine novice
  • *
  • Offline Offline
  • Gender: Male
  • Posts: 35
    • http://www.diving-club.com

У меня форум IPB 
« Last Edit: March 31, 2009, 09:17:38 am by Makc666 »
Logged

Abaza

  • Coppermine newbie
  • Offline Offline
  • Posts: 2

А  если я допустим хочу выводить все данные в галерее в utf-8, а на форуме у меня кодировка cp1251
« Last Edit: March 31, 2009, 09:17:34 am by Makc666 »
Logged

Makc666

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

А  если я допустим хочу выводить все данные в галерее в utf-8, а на форуме у меня кодировка cp1251
Не получится в тех местах, где галерея и форум будут пересекаться. К примеру, имена пользователей, имена групп пользователей, также всего скорее могут быть проблемы с паролями и авторизацией.
Лучше подобным не заниматься.
« Last Edit: March 31, 2009, 09:19:18 am by Makc666 »
Logged

saks

  • Coppermine novice
  • *
  • Offline Offline
  • Posts: 24

да, у меня была тоже такая проблема. форум смф в кодировке вин1251 , галерея тоже старая была, но после обновления хотела перевестись в утф, вобщем я все перевел в утф, но после этого возникли проблемы с русскими именами пользователей , передаваемыми из форума.
щас привел все к единой кодировке вин1251 и все работает... все да не все...

в кодировке вин1251 не работает поиск! в утф специально переконвертил снова все и проверил, в нем работает корректно, а в вин не работает. что можно сделать ??
Logged

MediLand

  • Coppermine newbie
  • Offline Offline
  • Posts: 2

Возрадуемся, братья! Ж-)

Короче так: цпг не передает БД информации о том, в какой кодировке он пишет данные, равно как и получает, конечно же. Таким образом БД думает, что цпг использует дефолтовую кодировку (какая кодировка стоит по умолчанию в БД - смотреть, понятное дело в настройках БД) потому и информацию, которую записал в БД пхпбб она выдает в цпг не в нужной кодировке (которую указал при записи пхпбб), а в дефолтной, например кои8 или латин-1. Чтобы такого не происходило достаточно при каждом коннекте цпг к МуСКЛу добавить простой запрос вида "SET NAMES <charset>" где <charset> - кодировка в которой работает пхпбб и ваша галерея. Кодировка должна быть одинаковой и галереи и пхпбб, иначе глюк все равно вылезет. Возможно, вообще-то, сделать так, чтобы кодировка бралась из конфигов пхпбб и затем использовалась только при запросах к таблицам пхпбб, но это уже вопрос к разработчикам бридж-менеджера и т.п.
Пока я могу лишь предложить решение для случая когда и цпг и пхпбб работают, например в кодировке виндоувз-1251.

Итак:
0. Дочитайте это сообщение до конца.
0,5. Сделайте бэкап изменяемых ниже файлов
0,6. Сделайте бэкап базы

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

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

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

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

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

после нее добавляем
mysql_query("SET NAMES cp1251", $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 cp1251", $this->link_id);

собственно все.

Да, важный момент: после всего этого безобразия с кодом, если в вашей галерее уже было много русских названий, комментов и пр. - все станет нечитаемым, т.к. теперь БД наконец-то начтне выдавать вам байты текста, перекодируя их в вин-1251. Потому либо руками, либо при помощи каких-либо инструментов для перекодировки содержимого БД перекодируйте ваши тексты в нужные кодировки. В моем случае все делалось практически сразу после установки цпг, потому я все переделал руками (всего-то строчек пять было).

Если вы используете не вин-1251, а какую-то другую кодировку, то проверьте, как она называется в стандарте МуСКЛа. Сделать это можно здесь: http://dev.mysql.com/doc/refman/4.1/en/charset-charsets.html

Ну вроде все....

Спасибо - помогло. У меня Форум phpBB3.0.5 и Coppermine 1.4.25 работают в кодировках UTF-8, поэтому я использовал Ваши рекомендации, только вместо "cp1251" везде написал "utf8".

Однако есть "но": пользователь с кириллическим ником, изначально зарегистрировавшийся на Форуме и перешедший в интегрированную Галерею, размещает фотографию, пишет русский комментарий. Всё русское правильно отображается, за исключением:
когда щёлкаю по промежуточному изображению и полная картинка всплывает в отдельном окне, то в альтернативном тексте к полной картинке всё равно абракадабра! Пример: http://mediland.kiev.ua/coppermine/displayimage.php?album=8&pos=0 и щёлкните по верхней картинке (которая над кинолентой).

Значит, надо провести аналогичные вышеуказанным изменения ещё в каком-то файле Галереи?
Logged

Makc666

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

Однако есть "но": пользователь с кириллическим ником, изначально зарегистрировавшийся на Форуме и перешедший в интегрированную Галерею, размещает фотографию, пишет русский комментарий. Всё русское правильно отображается, за исключением:
когда щёлкаю по промежуточному изображению и полная картинка всплывает в отдельном окне, то в альтернативном тексте к полной картинке всё равно абракадабра! Пример: http://mediland.kiev.ua/coppermine/displayimage.php?album=8&pos=0 и щёлкните по верхней картинке (которая над кинолентой).

Значит, надо провести аналогичные вышеуказанным изменения ещё в каком-то файле Галереи?

Это уже обсуждалось на форуме. Всего скорее Вы редактировали файл русификации галереи в блокноте.
Этого делать нельзя, т.к. Блокнот добавляет в начало файла лишнюю бяку.

Как её убрать я описывал тут:
How to remove UTF-8 signature with Araxis Merge
http://forum.coppermine-gallery.net/index.php?topic=28539.msg132033#msg132033

How to remove UTF-8 signature with WinHex
http://forum.coppermine-gallery.net/index.php?topic=28539.msg132037#msg132037

Batch add files problem with languages files, UTF-8 signature and Notepad
http://forum.coppermine-gallery.net/index.php?topic=28539
Logged

MediLand

  • Coppermine newbie
  • Offline Offline
  • Posts: 2
Re: Интеграция и имена в пользователей
« Reply #37 on: December 19, 2009, 08:44:19 pm »

Вы имеете в виду файл русификации "lang/russian.php"? Я его вообще не трогал.
Logged

Makc666

  • Moderator
  • Coppermine addict
  • ****
  • Offline Offline
  • Gender: Male
  • Posts: 1614
  • Русский (ISO-8859-1) - Russian - Русский (Windows)
    • Makc's home page
Re: Интеграция и имена в пользователей
« Reply #38 on: February 02, 2010, 12:00:14 am »

Вы имеете в виду файл русификации "lang/russian.php"? Я его вообще не трогал.
Залейте самый свежый русский языковый файл в Binary режиме.
Logged
Pages: 1 [2]   Go Up
 

Page created in 0.038 seconds with 18 queries.