forum.coppermine-gallery.net

Support => Русский (Russian) => Language Specific Support => cpg1.4.x FAQ (Russian) => Topic started by: Abaza on February 22, 2006, 09:22:00 am

Title: Интеграция и имена в пользователей
Post by: Abaza on February 22, 2006, 09:22:00 am
Добрый день.. Заранее извиняюсь если моя проблема давно обсуждалась..

Имеем PHPBB 2.0.19 и CPG 1.4.3. после создания bridge все работает, только вот имена пользователей, написанные русскими буквами отображаются некорректно. Уже два дня ищу решения.. мозги кипят..  ???
Title: Re: PHPBB+CPG=имена в галерее?
Post by: Kovu on March 05, 2006, 06:42:48 pm
Та же проблема. Есть ли решение?
Title: Re: PHPBB+CPG=имена в галерее?
Post by: advanced_user on March 10, 2006, 01:43:39 pm
решение есть
работать в cpg в той же кодировке, что и phpBB. Дефолтом phpBB в кирилик виндос 1251, а cpg в UTF-8
если галерея не в Cyrillic windows-1251
надо запустить файл charsetmgr.php (в корневом каталоге галереи)
и перегнать все в Cyrillic windows-1251
потом я в конфиге там где языки поставил -дефолт, нон рекоммендид лэнгвидж файл.
потом сам фаил russian.php  перевел в кодировку Cyrillic windows-1251
это можно сделать с помощью блокнота даже (если на ошибаюсь)

потом еще сделал так

в russian.php

$lang_charset = 'utf-8';
заменил на
$lang_charset = 'windows-1251';


в admin.php

'Cyrillic' => 'koi8-r',
заменил на
'Cyrillic' => 'windows-1251',
и в админке выбрал его

и все работает
Title: Отображение ников, набранных русскими буl
Post by: cpg144_user on April 05, 2006, 05:21:42 pm
Cpg1.4.4 интеграция с phpBB 2.0.19

Всё работает корректно за исключением одного!
Если пользователь зарегился с Ником, набранным русскими буквами, то в Coppermine Photo Gallery его ник отображается абракадаброй. Кто нибудь может дать пошаговую инструкцию как сделать корректное отображение ников?

Заранее спасибо.
Title: Re: Отображение ников, набранных русскими бу&
Post by: kolomba on April 06, 2006, 11:17:43 am
Чтобы перевести галерею из любой кодировки в новый общепринятый стандарт UTF-8 или другой стандарт, нужно запустить файл charsetmgr.php в корневом каталоге галереи. Скрипт покажет предварительные результаты конвертации перед тем, как делать какие-либо изменения в базе данныx. После того, как убедились, что содержимое колонок таблицы сконвертируется нормально (то есть в предпросмотре не должно быть полей, кирилица в которыx раньше была видна, а теперь - вопросительные знаки и т.д.), то можно смело конвертировать базу данныx. После этого поменяйте настройки галереи на UTF-8 или на другую в Config интерфейсе, и убедитесь, что браузер не настроен силой показывать странички в cp1251.
В принципе, можно перевести в любой формат, в который нужно!
Title: Re: Отображение ников, набранных русскими бу&
Post by: cpg144_user on April 06, 2006, 11:44:57 pm
Запустить файл charsetmgr.php в корневом каталоге галереи я понимаю буквально так:
набираешь с строке браузера http://www.mysite.ru/mygallery/charsetmgr.php ? Браузер выдаёт Access denied. Права на этот файл были 644, изменил на 777, всё равно Access denied (((
Никакого .htaccess в корне не лежит. Как его запустить то?
А это не может быть из-за интеграции с phpBB... я имею в виду невозможность запустить?
Title: Re: Отображение ников, набранных русскими бу&
Post by: Gev on April 07, 2006, 01:54:39 pm
Запустил http://pipe-club.com/foto/charsetmgr.php
Говорит
Quote
Your site is already configured to use utf-8


Хотя, база у меня в 1251 кодировке и страницы пишутся в двух форматах.

При попытке конвертнуть с 1251 на utf-8, выдает ошибку

Quote
Fatal error: Call to undefined function: iconv() in /тратата/charsetmgr.php on line 76

значит ошибка тут
Code: [Select]
            if ($convstr = iconv($charsetin,$charsetout,$element))
Чего с этим делать?
Title: Re: Отображение ников, набранных русскими бу&
Post by: cpg144_user on April 07, 2006, 06:16:02 pm
так кто-нибудь сможет сказать что с этим Access denied при попытке запустить charsetmgr.php делать? ???
Title: Re: Отображение ников, набранных русскими бу&
Post by: VodkaShot on April 09, 2006, 05:58:18 pm
То же самое.  Неправильная кодировка надписей, которые идут из базы данных. 
При запуске charsetmgr.php тоже получаю в ответ Access denied...
Кстати, чтобы читать этот форум мне приходится каждый раз вручную ставить кодировку страницы в Cyrillic (Windows).  По умолчанию ставится в Western European.
   
Title: Re: Отображение ников, набранных русскими бу&
Post by: kolomba on April 10, 2006, 12:17:46 pm
Access denied - возможно вам нужно сначало войти под админом в галерею...
сам переводил в формат win1251 на версии 1.4.3 и прошло без проблем! 

возможно что-то перемудрили в новой версии, у меня кстати тоже проблема с кодировкой на этом форуме!
Title: Re: Отображение ников, набранных русскими бу&
Post by: VodkaShot on April 10, 2006, 08:51:15 pm
И под админом входил (с интеграцией и без), все без толку.
 
Title: Re: Отображение ников, набранных русскими бу&
Post by: VodkaShot on April 11, 2006, 02:09:22 pm
Получилось на другом компьютере запустить charsetmgr.php (странно  >:().  При попытке конвертации в Cyrillic 1251 в синей колонке String все надписи пишутся нормально, а в правой Query - везде, где есть русские надписи пишет красным Conversion Impossble, а где нет русский букв - все Ок.  В чем может быть проблема?
 
Title: Re: PHPBB+CPG=имена в галерее?
Post by: Alex Revo on April 18, 2006, 11:30:44 am
прощу прощения, не в тему написал...
Title: Re: PHPBB+CPG=имена в галерее?
Post by: VodkaShot on April 19, 2006, 08:36:03 pm
Объясните, как переконвертировать файл russian.php в Windows-1251.  Что-то никак не выходит.
Title: Re: PHPBB+CPG=имена в галерее?
Post by: Alex Revo on April 21, 2006, 01:30:43 pm
Открой russian.php в блокноте, затем Файл - Сохранить как - russian.php кодировка ANSI...
Title: Re: PHPBB+CPG=имена в галерее?
Post by: VodkaShot on April 21, 2006, 01:34:30 pm
По-моему, я так делал.  После заливки отконверченного таким образом файла у меня вообще страницы не открывались (белый экран был).  Ладно, еще раз попробую.
И еще...
когда я поставил $lang_charset = 'windows-1251', то стала вылетать ошибка со ссылкой на эту строку.  Думаю, что это ставить не обязательно, т.к. после конвертации в 1251, страница автоматически показывается в этой кодировке.

Title: Re: PHPBB+CPG=имена в галерее?
Post by: Alex Revo on April 22, 2006, 09:31:23 am
я тоже не ставил, ошбки не было

а страница пустая по тому, что в ИЕ кодировка по умолчанию Юникод, если вручную выставишь кирилица-1251, то показывать будет, но при обновлении опять слетит.Добавть в admin.php в список кодировков строку   'Cyrillic' => 'windows-1251',
должно заработать
Title: Re: Отображение ников, набранных русскими бу&
Post by: Makc666 on April 24, 2006, 09:40:59 pm
Официального решения данной проблемы нет.
Есть вот такая тема:
http://forum.coppermine-gallery.net/index.php?topic=24290.0

где данный вопрос был поднят.

Был дан следующий ответ:
Quote
You'd need to add iconv() calls whenever the names are displayed.

Функция iconv(), на сколько я понимаю, находится в charsetmgr.php,

Времени у меня к сожалению нет заниматься этим.

Могу сказать, что предлагаемый на данном форуме вариант с перекодировкой в Windows-1251 в корне неверен и по сути ущербен.

Нужно искать решение по предложенному варианту.
Title: Re: Отображение ников, набранных русскими бу&
Post by: MAVerick(c) on August 28, 2006, 11:09:54 pm
Официального решения данной проблемы нет.
Есть вот такая тема:
http://forum.coppermine-gallery.net/index.php?topic=24290.0

где данный вопрос был поднят. 

Был дан следующий ответ:
Функция iconv(), на сколько я понимаю, находится в charsetmgr.php,

Времени у меня к сожалению нет заниматься этим.

Могу сказать, что предлагаемый на данном форуме вариант с перекодировкой в Windows-1251 в корне неверен и по сути ущербен.

Нужно искать решение по предложенному варианту.
iconv() - не поможет, у меня PHPBB2 2.0.20 и CPG 1.4.6, iconv() работает исправно , проверено,   
но суть беды в следующем имена пользователей кириллицей всё равно отображаются знаками вопроса, т.е.
когда клиент мускуля лезет в БД форума он пытается читать оттуда всё в UTF-8 , а там windows-1251,
смена кодировки в клиенте на нужную проходит  без вопросов , а вот  обратно не всегда поэтому пока выключил, то что поправил буду дальше ковырять, ибо времени не очень много выделено на сиё хобби.

Такая вот грустная история

P.S.
iconv() - это часть PHP - работающая корректно в 5 во всех направлениях, и ещё одно безобразие не воспринимаются ники с пробелами из форума так что рихтовать руками есть чего
Title: Проблема с русскими никами
Post by: vglick on September 28, 2006, 03:25:21 pm
В галерее русские ники отображаются знаками вопроса, в частности в "Альбомах пользователей"
Форум IPB 1.3.1, галерея 1.4.9 интегрированная в форум
И форум и галерея работают в кодировке UTF-8
Еще замечено, в настройках групп имена групп тоже отображаются знаками вопроса.
Подскажите, пожалуйста, как это вылечить.
Спасибо.
 
Title: Re: Проблема с русскими никами
Post by: Makc666 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
Что-то мне подсказывает, что проблема именно в этом...
Title: Re: Интеграция - имена в галерее - проблема с ру&#
Post by: vglick on September 29, 2006, 04:17:13 pm
С нуля ставилась галерея 1.4.4, когда обнаружилась проблема с русскими никами проапгрейдил до 1.4.9, думал поможет.
В IPB все языковые файлы переконвертировал в UTF8, все таблицы в базе в UTF8, collation UTF8. После этого весь форум стал в знаках вопроса пока в функцию подключения к базе не добавил mysql_query("set names utf8");
После установки галереи в свою базу не обратил внимание на кодировку. Переконвертировал базу галереи в UTF8, collation UTF8. После этого вся галерея (почти вся) стала в знаках вопроса пока в функцию подключения к базе не добавил mysql_query("set names utf8");
Теперь имею, что писал выше. Вот вся история. Я уже не знаю где копать дальше.
Title: Re: Интеграция - имена в галерее - проблема с ру&#
Post by: vglick on September 29, 2006, 04:48:04 pm
Удивительные вещи происходят.
Сейчас установил и форум и галерею (все, что работает в сети) на Денвер.
Никаких проблем нигде нет, все корректно. Локально!
А в сети - русские ники не показываются.
Может что-то с базой? Тогда и локально было бы криво.
Не понимаю  ???
Title: Re: Интеграция - имена в галерее - проблема с ру&#
Post by: pipemba on October 18, 2006, 11:08:15 pm
имею такую же проблему..
как ее решить?

ޫ?a>
Title: Re: Интеграция - имена в галерее - проблема с ру&#
Post by: Varrah on October 22, 2006, 01:49:48 pm
Возрадуемся, братья! Ж-)

Короче так: цпг не передает БД информации о том, в какой кодировке он пишет данные, равно как и получает, конечно же. Таким образом БД думает, что цпг использует дефолтовую кодировку (какая кодировка стоит по умолчанию в БД - смотреть, понятное дело в настройках БД) потому и информацию, которую записал в БД пхпбб она выдает в цпг не в нужной кодировке (которую указал при записи пхпбб), а в дефолтной, например кои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

Ну вроде все....
Title: Re: Интеграция - имена в галерее - проблема с ру&#
Post by: pipemba on October 22, 2006, 10:25:32 pm
а если форум ипб и кодировка кои8?
Title: Re: Интеграция - имена в галерее - проблема с ру&#
Post by: gtplus on November 28, 2006, 10:42:13 am
Добрый день.. Заранее извиняюсь если моя проблема давно обсуждалась..

Имеем PHPBB 2.0.19 и CPG 1.4.3. после создания bridge все работает, только вот имена пользователей, написанные русскими буквами отображаются некорректно. Уже два дня ищу решения.. мозги кипят..  ???
Проблема кодирунга, либо phpBB или Gallery
Title: Re: Интеграция - имена в галерее - проблема с ру&#
Post by: vglick on November 28, 2006, 04:11:45 pm
Проблема кодирунга, либо phpBB или Gallery
Конструктивный ответ, главное что помогает решить проблему.
Title: Re: Интеграция - имена в галерее - проблема с ру&#
Post by: vglick on December 25, 2006, 12:03:07 pm
Обратил внимание, что знаками вопроса отбражаются не только русские ники, но и названия групп, которые тоже на русском языке.
И ники и названия групп берутся из базы форума, в базе форума все отображается корректно и на самом форуме тоже.
Исходя из этого могу предположить, что сбой происходит при передаче данных из форума в галерею.
Но галерея интегрирована с форумом, так может быть проблема в файлах, отвечающих за интеграцию?
Т.е. bridgemgr.php и invisionboard13.inc.php
Может кто-нибудь поможет разобраться, из знающих php? 
Title: Re: Интеграция - имена в галерее - проблема с ру&#
Post by: Varrah on December 25, 2006, 12:41:19 pm
см выше
уже все расписал
Title: Re: Интеграция - имена в галерее - проблема с ру&#
Post by: vglick on December 25, 2006, 01:56:29 pm
см выше, уже все расписал
Большое спасибо, все отлично работает.
Т.к. у меня все работает в кодировке UTF-8, то руками ничего править не пришлось.
Спасибо!
Title: Re: Интеграция - имена в галерее - проблема с ру&#
Post by: vglick on December 25, 2006, 01:57:18 pm
У меня форум IPB 
Title: Re: Интеграция - имена в галерее - проблема с ру&#
Post by: Abaza on January 30, 2008, 06:30:52 pm
А  если я допустим хочу выводить все данные в галерее в utf-8, а на форуме у меня кодировка cp1251
Title: Re: Интеграция - имена в галерее - проблема с ру&#
Post by: Makc666 on January 31, 2008, 04:29:45 pm
А  если я допустим хочу выводить все данные в галерее в utf-8, а на форуме у меня кодировка cp1251
Не получится в тех местах, где галерея и форум будут пересекаться. К примеру, имена пользователей, имена групп пользователей, также всего скорее могут быть проблемы с паролями и авторизацией.
Лучше подобным не заниматься.
Title: Re: Интеграция - имена в галерее - проблема с ру&#
Post by: saks on March 31, 2009, 05:49:08 pm
да, у меня была тоже такая проблема. форум смф в кодировке вин1251 , галерея тоже старая была, но после обновления хотела перевестись в утф, вобщем я все перевел в утф, но после этого возникли проблемы с русскими именами пользователей , передаваемыми из форума.
щас привел все к единой кодировке вин1251 и все работает... все да не все...

в кодировке вин1251 не работает поиск! в утф специально переконвертил снова все и проверил, в нем работает корректно, а в вин не работает. что можно сделать ??
Title: Re: Интеграция - имена в галерее - проблема с ру&#
Post by: MediLand on October 25, 2009, 01:52:45 pm
Возрадуемся, братья! Ж-)

Короче так: цпг не передает БД информации о том, в какой кодировке он пишет данные, равно как и получает, конечно же. Таким образом БД думает, что цпг использует дефолтовую кодировку (какая кодировка стоит по умолчанию в БД - смотреть, понятное дело в настройках БД) потому и информацию, которую записал в БД пхпбб она выдает в цпг не в нужной кодировке (которую указал при записи пхпбб), а в дефолтной, например кои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 и щёлкните по верхней картинке (которая над кинолентой).

Значит, надо провести аналогичные вышеуказанным изменения ещё в каком-то файле Галереи?
Title: Re: Интеграция - имена в галерее - проблема с ру&#
Post by: Makc666 on November 11, 2009, 10:48:46 am
Однако есть "но": пользователь с кириллическим ником, изначально зарегистрировавшийся на Форуме и перешедший в интегрированную Галерею, размещает фотографию, пишет русский комментарий. Всё русское правильно отображается, за исключением:
когда щёлкаю по промежуточному изображению и полная картинка всплывает в отдельном окне, то в альтернативном тексте к полной картинке всё равно абракадабра! Пример: 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 (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 (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 (http://forum.coppermine-gallery.net/index.php?topic=28539)
Title: Re: Интеграция и имена в пользователей
Post by: MediLand on December 19, 2009, 08:44:19 pm
Вы имеете в виду файл русификации "lang/russian.php"? Я его вообще не трогал.
Title: Re: Интеграция и имена в пользователей
Post by: Makc666 on February 02, 2010, 12:00:14 am
Вы имеете в виду файл русификации "lang/russian.php"? Я его вообще не трогал.
Залейте самый свежый русский языковый файл в Binary режиме.