Добрый день.. Заранее извиняюсь если моя проблема давно обсуждалась..
Имеем 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
Говорит
QuoteYour site is already configured to use utf-8
Хотя, база у меня в 1251 кодировке и страницы пишутся в двух форматах.
При попытке конвертнуть с 1251 на utf-8, выдает ошибку
QuoteFatal 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
где данный вопрос был поднят.
Был дан следующий ответ:
QuoteYou'd need to add iconv() calls whenever the names are displayed.
Функция iconv(), на сколько я понимаю, находится в charsetmgr.php,
Времени у меня к сожалению нет заниматься этим.
Могу сказать, что предлагаемый на данном форуме вариант с перекодировкой в Windows-1251 в корне неверен и по сути ущербен.
Нужно искать решение по предложенному варианту.
Quote from: Makc666 on April 24, 2006, 09:40:59 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 во всех направлениях, и ещё одно безобразие не воспринимаются ники с пробелами из форума так что рихтовать руками есть чего
В галерее русские ники отображаются знаками вопроса, в частности в "Альбомах пользователей"
Форум IPB 1.3.1, галерея 1.4.9 интегрированная в форум
И форум и галерея работают в кодировке UTF-8
Еще замечено, в настройках групп имена групп тоже отображаются знаками вопроса.
Подскажите, пожалуйста, как это вылечить.
Спасибо.
Quote from: vglick on September 28, 2006, 03:25:21 PM
В галерее русские ники отображаются знаками вопроса, в частности в "Альбомах пользователей"
Форум 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?
Quote from: Abaza on February 22, 2006, 09:22:00 AM
Добрый день.. Заранее извиняюсь если моя проблема давно обсуждалась..
Имеем PHPBB 2.0.19 и CPG 1.4.3. после создания bridge все работает, только вот имена пользователей, написанные русскими буквами отображаются некорректно. Уже два дня ищу решения.. мозги кипят.. ???
Проблема кодирунга, либо phpBB или Gallery
Quote from: gtplus on November 28, 2006, 10:42:13 AM
Проблема кодирунга, либо phpBB или Gallery
Конструктивный ответ, главное что помогает решить проблему.
Обратил внимание, что знаками вопроса отбражаются не только русские ники, но и названия групп, которые тоже на русском языке.
И ники и названия групп берутся из базы форума, в базе форума все отображается корректно и на самом форуме тоже.
Исходя из этого могу предположить, что сбой происходит при передаче данных из форума в галерею.
Но галерея интегрирована с форумом, так может быть проблема в файлах, отвечающих за интеграцию?
Т.е. bridgemgr.php и invisionboard13.inc.php
Может кто-нибудь поможет разобраться, из знающих php?
см выше
уже все расписал
Quote from: Varrah on December 25, 2006, 12:41:19 PM
см выше, уже все расписал
Большое спасибо, все отлично работает.
Т.к. у меня все работает в кодировке UTF-8, то руками ничего править не пришлось.
Спасибо!
У меня форум IPB
А если я допустим хочу выводить все данные в галерее в utf-8, а на форуме у меня кодировка cp1251
Quote from: Abaza on January 30, 2008, 06:30:52 PM
А если я допустим хочу выводить все данные в галерее в utf-8, а на форуме у меня кодировка cp1251
Не получится в тех местах, где галерея и форум будут пересекаться. К примеру, имена пользователей, имена групп пользователей, также всего скорее могут быть проблемы с паролями и авторизацией.
Лучше подобным не заниматься.
да, у меня была тоже такая проблема. форум смф в кодировке вин1251 , галерея тоже старая была, но после обновления хотела перевестись в утф, вобщем я все перевел в утф, но после этого возникли проблемы с русскими именами пользователей , передаваемыми из форума.
щас привел все к единой кодировке вин1251 и все работает... все да не все...
в кодировке вин1251 не работает поиск! в утф специально переконвертил снова все и проверил, в нем работает корректно, а в вин не работает. что можно сделать ??
Quote from: 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
Ну вроде все....
Спасибо - помогло. У меня Форум phpBB3.0.5 и Coppermine 1.4.25 работают в кодировках UTF-8, поэтому я использовал Ваши рекомендации, только вместо "cp1251" везде написал "utf8".
Однако есть "но": пользователь с кириллическим ником, изначально зарегистрировавшийся на Форуме и перешедший в интегрированную Галерею, размещает фотографию, пишет русский комментарий. Всё русское правильно отображается, за исключением:
когда щёлкаю по промежуточному изображению и полная картинка всплывает в отдельном окне, то в альтернативном тексте к полной картинке всё равно абракадабра! Пример: http://mediland.kiev.ua/coppermine/displayimage.php?album=8&pos=0 и щёлкните по верхней картинке (которая над кинолентой).
Значит, надо провести аналогичные вышеуказанным изменения ещё в каком-то файле Галереи?
Quote from: MediLand on October 25, 2009, 01:52:45 PM
Однако есть "но": пользователь с кириллическим ником, изначально зарегистрировавшийся на Форуме и перешедший в интегрированную Галерею, размещает фотографию, пишет русский комментарий. Всё русское правильно отображается, за исключением:
когда щёлкаю по промежуточному изображению и полная картинка всплывает в отдельном окне, то в альтернативном тексте к полной картинке всё равно абракадабра! Пример: http://mediland.kiev.ua/coppermine/displayimage.php?album=8&pos=0 и щёлкните по верхней картинке (которая над кинолентой).
Значит, надо провести аналогичные вышеуказанным изменения ещё в каком-то файле Галереи?
Это уже обсуждалось на форуме. Всего скорее Вы редактировали файл русификации галереи в блокноте.
Этого делать нельзя, т.к. Блокнот добавляет в начало файла лишнюю бяку.
Как её убрать я описывал тут:
How to remove UTF-8 signature with Araxis Mergehttp://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 WinHexhttp://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 Notepadhttp://forum.coppermine-gallery.net/index.php?topic=28539 (http://forum.coppermine-gallery.net/index.php?topic=28539)
Вы имеете в виду файл русификации "lang/russian.php"? Я его вообще не трогал.
Quote from: MediLand on December 19, 2009, 08:44:19 PM
Вы имеете в виду файл русификации "lang/russian.php"? Я его вообще не трогал.
Залейте самый свежый русский языковый файл в Binary режиме.