Проблемы с кодировкой Проблемы с кодировкой
 

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]

Main Menu

Проблемы с кодировкой

Started by mitko, May 07, 2010, 05:07:02 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

mitko

Сделал апгрейд с 1.4.x на 1.5.3
На 1.4 все отображалось отлично, на 1.5.3 везде кодировка сьехала, все что идет с базы пишется вопросиками, все что хранится в теме - нормально.
В Базе кодировка UTF8 в настройке галереи тоже. Где проблема? Выручайте!

mitko

В общем все починилось следующим образом:
В файл include/functions.inc.php вставил строчку.
Функция function cpg_db_connect()
в самый ее конец добавил:

  mysql_query("SET NAMES 'utf8'",$result);
        return $result;
}
После этого текст из базы стал читаться, но съехало название галереи и описание (которое вверху пишется), так что переписал его руками и все теперь нормально.

Makc666

Quote from: mitko on May 07, 2010, 06:55:47 PM
В общем все починилось следующим образом:
В файл include/functions.inc.php вставил строчку.

Совершенно верно. Ведь при обновлении Вы перезаписали данный файл новой версией из 1.5.* :)

mitko

Может имеет смысл попросить разработчиков добавить ее в исходники?

Makc666

Quote from: mitko on May 15, 2010, 09:11:20 AM
Может имеет смысл попросить разработчиков добавить ее в исходники?
Я когда-то уже обращал их внимание на данный вопрос.

Попробую ещё разок тему поднять.

P.S. Для меня #49620

Floppy

Тоже когда переходил на 1.5 была такая проблема, делал тоже самое, что и тут писалось.
Но в один день зашел, и увидел крязябры, в functions.inc.php все вставлено,  крякозябры вроде пропали, но вместо того что бы слетело только доп. поля к нему и все описание галирей и альбомов прибавилось ... И еще когда заходишь в галерею браузер почему-то не правильно выбирает кодировку, вместо utf8 - ISO-8859-1

Floppy

Никто не поможет? Почему при заходе в галерею браузер выбирает не ту кодировку которую нужно?

Plazik

Т.е. проблема появилась сама? Вы ничего не делали с галерей?
И дайте ссылку на вашу галерею.

Floppy

Да, проблема появилась сама, щас вроде опять стало нормально, мистика прямо... стоит 1.5.4
http://gallery.hilaryduff.su/ , найти бы причину того и исправить, что бы снова не повторилось.

mitko

А спросите в поддержке хостера, не меняли ли они ничего в конфигурации хоста.

Plazik

Floppy обновите галерею сначала. Давно уже есть версия 1.5.6.

Makc666

Quote from: Floppy on July 29, 2010, 10:55:00 PM
Тоже когда переходил на 1.5 была такая проблема, делал тоже самое, что и тут писалось.
Но в один день зашел, и увидел крязябры, в functions.inc.php все вставлено,  крякозябры вроде пропали, но вместо того что бы слетело только доп. поля к нему и все описание галирей и альбомов прибавилось ... И еще когда заходишь в галерею браузер почему-то не правильно выбирает кодировку, вместо utf8 - ISO-8859-1

У Вас в коде вашей темы Hilaryduf выставлена кодировка iso-8859-1, о чём говорит строка:
<meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type" />

Разбирайтесь почему...

D.Kalessky

столкнулся с проблемой кодировки при создании нового альбома.
имя нового альбома отображается в кодировке UTF-8, в то время как кодировка альбома win-1251, но после правки имени альбома (в его свойствах) имя отображается корректно. т.е. приходится каждый раз после создания альбома менять его имя вручную.

1. в файл /include/config.inc.php я добавлял строку $CONFIG['dbcharset'] = 'cp1251';

2. В конфигурации галерии установлено:
Язык по умолчанию - Russian-Русский (Ru)
Автоопределение языка - нет (галка снята)
Кодировка символов - Default
Языковой пакет - win-1251

3. используется стандартная тема Water_drop

4. SQL-запрос: SHOW VARIABLES LIKE 'character_%';
Variable_name Value
character_set_client utf8
character_set_connection utf8
character_set_database cp1251
character_set_filesystem binary
character_set_results utf8
character_set_server cp1251
character_set_system utf8


5. SQL-запрос: SHOW VARIABLES LIKE 'collation_%';
Variable_name Value
collation_connection utf8_general_ci
collation_database cp1251_general_ci
collation_server cp1251_general_ci


6. версия галереи cpg 1.5.10

Makc666

Создание нового альбома происходит через AJAX, как я понимаю.
AJAX заточен в галереи под UTF-8.

albmgr.php
js_include('js/jquery.sort.js');
js_include('js/albmgr.js');

Если очень хочется копаться с этим вопросом, то смотрите изменения в ревизия:
http://coppermine.svn.sourceforge.net/viewvc/coppermine?view=revision&revision=7341
http://coppermine.svn.sourceforge.net/viewvc/coppermine?view=revision&revision=7353

Поэтому, или нужно переписывать код под Вас, или мириться с этим.

Вот тоже похожая проблема, как я подозреваю, - http://forum.coppermine-gallery.net/index.php/topic,69395.0.html

Elena_I

Помогите, пожалуйста, с кодировкой :(
Поставила галерею версии cpg1.5.12  Трабл с кодировкой следующий: и в IE и в Firefox слетает кодировка некоторых букв: маленькая "ш" и большая "И", ну, может, еще что-то, что я не заметила. Вместо этих букв - символы. Причем, касается это только того текста, что вводится через базу данных, насколько я понимаю (название альбомов, название галереи, описание альбомов, описание фото и т.п.), а меню галереи прекрасно отображает маленькую букву "ш". 
Вот тут видно: http://help.sharpeisearch.ru/coppermine/index.php (Это пока рыба будущего сайта, так что, не обращайте внимания на контент).
Здесь все прочла: http://forum.coppermine-gallery.net/index.php/topic,66649.0.html, добавила строку "$CONFIG['dbcharset'] = 'utf8';" в указанный файл. Не помогает. Голову уже сломала :(
PHP Version 5.1.6
mysql 5.0.27

Makc666

Quote from: Elena_I on January 09, 2011, 12:04:06 PM
Не помогает. Голову уже сломала :(
Нужно прочитать тут:
http://forum.coppermine-gallery.net/index.php/topic,66649.0.html
и тут:
http://forum.coppermine-gallery.net/index.php/topic,49624.0.html

И показать нам результаты выполнения двух запросов в phpMyAdmin в базе данных вашей галереи:
SHOW VARIABLES LIKE 'character_%';
и
SHOW VARIABLES LIKE 'collation_%';

P.S. Если с базой данных всё в порядке, то добавлять $CONFIG['dbcharset'] = 'utf8'; не нужно.

mixermsk

Quote from: D.Kalessky on December 30, 2010, 07:15:32 AM
столкнулся с проблемой кодировки при создании нового альбома.
имя нового альбома отображается в кодировке UTF-8, в то время как кодировка альбома win-1251, но после правки имени альбома (в его свойствах) имя отображается корректно. т.е. приходится каждый раз после создания альбома менять его имя вручную.

1. в файл /include/config.inc.php я добавлял строку $CONFIG['dbcharset'] = 'cp1251';

2. В конфигурации галерии установлено:
Язык по умолчанию - Russian-Русский (Ru)
Автоопределение языка - нет (галка снята)
Кодировка символов - Default
Языковой пакет - win-1251

3. используется стандартная тема Water_drop

4. SQL-запрос: SHOW VARIABLES LIKE 'character_%';
Variable_name Value
character_set_client utf8
character_set_connection utf8
character_set_database cp1251
character_set_filesystem binary
character_set_results utf8
character_set_server cp1251
character_set_system utf8


5. SQL-запрос: SHOW VARIABLES LIKE 'collation_%';
Variable_name Value
collation_connection utf8_general_ci
collation_database cp1251_general_ci
collation_server cp1251_general_ci


6. версия галереи cpg 1.5.10

В качестве временного решения можно поступить так:
1. Найти в файле delete.php строки
if (!empty($get_album_name)) {
            //add the album to database


2. Добавить следом строку
$get_album_name=iconv('utf-8','cp1251',$get_album_name);

Вместо cp1251 нужно указать вашу кодировку.

З.Ы. Это несколько костыльный вариант, но к сожалению, у меня не было времени изучать девелоперскую документацию, дабы нарисовать это по канонам кода Coppermine. С другой стороны - никаких проблем эта строка не несёт - просто если вы вдруг решите позже менять кодировку базы - файлик тоже нужно будет поправить.

mixermsk

Quote from: Makc666 on January 08, 2011, 02:53:48 AM
Создание нового альбома происходит через AJAX, как я понимаю.
AJAX заточен в галереи под UTF-8.

albmgr.php
js_include('js/jquery.sort.js');
js_include('js/albmgr.js');

Если очень хочется копаться с этим вопросом, то смотрите изменения в ревизия:
http://coppermine.svn.sourceforge.net/viewvc/coppermine?view=revision&revision=7341
http://coppermine.svn.sourceforge.net/viewvc/coppermine?view=revision&revision=7353

Поэтому, или нужно переписывать код под Вас, или мириться с этим.

Вот тоже похожая проблема, как я подозреваю, - http://forum.coppermine-gallery.net/index.php/topic,69395.0.html

Как мне кажется, проблема всё же не в AJAX, а в том, что в обработчике PHP оно пишется в базу без преобразования в нужную кодировку.

D.Kalessky

Quote from: mixermsk on February 28, 2011, 08:36:06 PM
В качестве временного решения можно поступить так:
1. Найти в файле delete.php строки
if (!empty($get_album_name)) {
            //add the album to database


2. Добавить следом строку
$get_album_name=iconv('utf-8','cp1251',$get_album_name);

Вместо cp1251 нужно указать вашу кодировку.
спасибо! это то, что нужно!

dolbaniko

у меня как то то же была проблема с отображением альбомов, названий фоток. Сделал костыль в \include\init.inc.php

перед // Retrieve DB stored configuration

вставить строку: cpg_db_query("SET NAMES `UTF8`");