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
-
Добрый день.. Заранее извиняюсь если моя проблема давно обсуждалась..
Имеем PHPBB 2.0.19 и CPG 1.4.3. после создания bridge все работает, только вот имена пользователей, написанные русскими буквами отображаются некорректно. Уже два дня ищу решения.. мозги кипят.. ???
-
Та же проблема. Есть ли решение?
-
решение есть
работать в 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',
и в админке выбрал его
и все работает
-
Cpg1.4.4 интеграция с phpBB 2.0.19
Всё работает корректно за исключением одного!
Если пользователь зарегился с Ником, набранным русскими буквами, то в Coppermine Photo Gallery его ник отображается абракадаброй. Кто нибудь может дать пошаговую инструкцию как сделать корректное отображение ников?
Заранее спасибо.
-
Чтобы перевести галерею из любой кодировки в новый общепринятый стандарт UTF-8 или другой стандарт, нужно запустить файл charsetmgr.php в корневом каталоге галереи. Скрипт покажет предварительные результаты конвертации перед тем, как делать какие-либо изменения в базе данныx. После того, как убедились, что содержимое колонок таблицы сконвертируется нормально (то есть в предпросмотре не должно быть полей, кирилица в которыx раньше была видна, а теперь - вопросительные знаки и т.д.), то можно смело конвертировать базу данныx. После этого поменяйте настройки галереи на UTF-8 или на другую в Config интерфейсе, и убедитесь, что браузер не настроен силой показывать странички в cp1251.
В принципе, можно перевести в любой формат, в который нужно!
-
Запустить файл charsetmgr.php в корневом каталоге галереи я понимаю буквально так:
набираешь с строке браузера http://www.mysite.ru/mygallery/charsetmgr.php ? Браузер выдаёт Access denied. Права на этот файл были 644, изменил на 777, всё равно Access denied (((
Никакого .htaccess в корне не лежит. Как его запустить то?
А это не может быть из-за интеграции с phpBB... я имею в виду невозможность запустить?
-
Запустил http://pipe-club.com/foto/charsetmgr.php
Говорит
Your site is already configured to use utf-8
Хотя, база у меня в 1251 кодировке и страницы пишутся в двух форматах.
При попытке конвертнуть с 1251 на utf-8, выдает ошибку
Fatal error: Call to undefined function: iconv() in /тратата/charsetmgr.php on line 76
значит ошибка тут
if ($convstr = iconv($charsetin,$charsetout,$element))
Чего с этим делать?
-
так кто-нибудь сможет сказать что с этим Access denied при попытке запустить charsetmgr.php делать? ???
-
То же самое. Неправильная кодировка надписей, которые идут из базы данных.
При запуске charsetmgr.php тоже получаю в ответ Access denied...
Кстати, чтобы читать этот форум мне приходится каждый раз вручную ставить кодировку страницы в Cyrillic (Windows). По умолчанию ставится в Western European.
-
Access denied - возможно вам нужно сначало войти под админом в галерею...
сам переводил в формат win1251 на версии 1.4.3 и прошло без проблем!
возможно что-то перемудрили в новой версии, у меня кстати тоже проблема с кодировкой на этом форуме!
-
И под админом входил (с интеграцией и без), все без толку.
-
Получилось на другом компьютере запустить charsetmgr.php (странно >:(). При попытке конвертации в Cyrillic 1251 в синей колонке String все надписи пишутся нормально, а в правой Query - везде, где есть русские надписи пишет красным Conversion Impossble, а где нет русский букв - все Ок. В чем может быть проблема?
-
прощу прощения, не в тему написал...
-
Объясните, как переконвертировать файл russian.php в Windows-1251. Что-то никак не выходит.
-
Открой russian.php в блокноте, затем Файл - Сохранить как - russian.php кодировка ANSI...
-
По-моему, я так делал. После заливки отконверченного таким образом файла у меня вообще страницы не открывались (белый экран был). Ладно, еще раз попробую.
И еще...
когда я поставил $lang_charset = 'windows-1251', то стала вылетать ошибка со ссылкой на эту строку. Думаю, что это ставить не обязательно, т.к. после конвертации в 1251, страница автоматически показывается в этой кодировке.
-
я тоже не ставил, ошбки не было
а страница пустая по тому, что в ИЕ кодировка по умолчанию Юникод, если вручную выставишь кирилица-1251, то показывать будет, но при обновлении опять слетит.Добавть в admin.php в список кодировков строку 'Cyrillic' => 'windows-1251',
должно заработать
-
Официального решения данной проблемы нет.
Есть вот такая тема:
http://forum.coppermine-gallery.net/index.php?topic=24290.0
где данный вопрос был поднят.
Был дан следующий ответ:
You'd need to add iconv() calls whenever the names are displayed.
Функция iconv(), на сколько я понимаю, находится в charsetmgr.php,
Времени у меня к сожалению нет заниматься этим.
Могу сказать, что предлагаемый на данном форуме вариант с перекодировкой в Windows-1251 в корне неверен и по сути ущербен.
Нужно искать решение по предложенному варианту.
-
Официального решения данной проблемы нет.
Есть вот такая тема:
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 во всех направлениях, и ещё одно безобразие не воспринимаются ники с пробелами из форума так что рихтовать руками есть чего
-
В галерее русские ники отображаются знаками вопроса, в частности в "Альбомах пользователей"
Форум IPB 1.3.1, галерея 1.4.9 интегрированная в форум
И форум и галерея работают в кодировке UTF-8
Еще замечено, в настройках групп имена групп тоже отображаются знаками вопроса.
Подскажите, пожалуйста, как это вылечить.
Спасибо.
-
В галерее русские ники отображаются знаками вопроса, в частности в "Альбомах пользователей"
Форум 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
Что-то мне подсказывает, что проблема именно в этом...
-
С нуля ставилась галерея 1.4.4, когда обнаружилась проблема с русскими никами проапгрейдил до 1.4.9, думал поможет.
В IPB все языковые файлы переконвертировал в UTF8, все таблицы в базе в UTF8, collation UTF8. После этого весь форум стал в знаках вопроса пока в функцию подключения к базе не добавил mysql_query("set names utf8");
После установки галереи в свою базу не обратил внимание на кодировку. Переконвертировал базу галереи в UTF8, collation UTF8. После этого вся галерея (почти вся) стала в знаках вопроса пока в функцию подключения к базе не добавил mysql_query("set names utf8");
Теперь имею, что писал выше. Вот вся история. Я уже не знаю где копать дальше.
-
Удивительные вещи происходят.
Сейчас установил и форум и галерею (все, что работает в сети) на Денвер.
Никаких проблем нигде нет, все корректно. Локально!
А в сети - русские ники не показываются.
Может что-то с базой? Тогда и локально было бы криво.
Не понимаю ???
-
имею такую же проблему..
как ее решить?
ޫ?a>
-
Возрадуемся, братья! Ж-)
Короче так: цпг не передает БД информации о том, в какой кодировке он пишет данные, равно как и получает, конечно же. Таким образом БД думает, что цпг использует дефолтовую кодировку (какая кодировка стоит по умолчанию в БД - смотреть, понятное дело в настройках БД) потому и информацию, которую записал в БД пхпбб она выдает в цпг не в нужной кодировке (которую указал при записи пхпбб), а в дефолтной, например кои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
Ну вроде все....
-
а если форум ипб и кодировка кои8?
-
Добрый день.. Заранее извиняюсь если моя проблема давно обсуждалась..
Имеем PHPBB 2.0.19 и CPG 1.4.3. после создания bridge все работает, только вот имена пользователей, написанные русскими буквами отображаются некорректно. Уже два дня ищу решения.. мозги кипят.. ???
Проблема кодирунга, либо phpBB или Gallery
-
Проблема кодирунга, либо phpBB или Gallery
Конструктивный ответ, главное что помогает решить проблему.
-
Обратил внимание, что знаками вопроса отбражаются не только русские ники, но и названия групп, которые тоже на русском языке.
И ники и названия групп берутся из базы форума, в базе форума все отображается корректно и на самом форуме тоже.
Исходя из этого могу предположить, что сбой происходит при передаче данных из форума в галерею.
Но галерея интегрирована с форумом, так может быть проблема в файлах, отвечающих за интеграцию?
Т.е. bridgemgr.php и invisionboard13.inc.php
Может кто-нибудь поможет разобраться, из знающих php?
-
см выше
уже все расписал
-
см выше, уже все расписал
Большое спасибо, все отлично работает.
Т.к. у меня все работает в кодировке UTF-8, то руками ничего править не пришлось.
Спасибо!
-
У меня форум IPB
-
А если я допустим хочу выводить все данные в галерее в utf-8, а на форуме у меня кодировка cp1251
-
А если я допустим хочу выводить все данные в галерее в utf-8, а на форуме у меня кодировка cp1251
Не получится в тех местах, где галерея и форум будут пересекаться. К примеру, имена пользователей, имена групп пользователей, также всего скорее могут быть проблемы с паролями и авторизацией.
Лучше подобным не заниматься.
-
да, у меня была тоже такая проблема. форум смф в кодировке вин1251 , галерея тоже старая была, но после обновления хотела перевестись в утф, вобщем я все перевел в утф, но после этого возникли проблемы с русскими именами пользователей , передаваемыми из форума.
щас привел все к единой кодировке вин1251 и все работает... все да не все...
в кодировке вин1251 не работает поиск! в утф специально переконвертил снова все и проверил, в нем работает корректно, а в вин не работает. что можно сделать ??
-
Возрадуемся, братья! Ж-)
Короче так: цпг не передает БД информации о том, в какой кодировке он пишет данные, равно как и получает, конечно же. Таким образом БД думает, что цпг использует дефолтовую кодировку (какая кодировка стоит по умолчанию в БД - смотреть, понятное дело в настройках БД) потому и информацию, которую записал в БД пхпбб она выдает в цпг не в нужной кодировке (которую указал при записи пхпбб), а в дефолтной, например кои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 и щёлкните по верхней картинке (которая над кинолентой).
Значит, надо провести аналогичные вышеуказанным изменения ещё в каком-то файле Галереи?
-
Однако есть "но": пользователь с кириллическим ником, изначально зарегистрировавшийся на Форуме и перешедший в интегрированную Галерею, размещает фотографию, пишет русский комментарий. Всё русское правильно отображается, за исключением:
когда щёлкаю по промежуточному изображению и полная картинка всплывает в отдельном окне, то в альтернативном тексте к полной картинке всё равно абракадабра! Пример: 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)
-
Вы имеете в виду файл русификации "lang/russian.php"? Я его вообще не трогал.
-
Вы имеете в виду файл русификации "lang/russian.php"? Я его вообще не трогал.
Залейте самый свежый русский языковый файл в Binary режиме.