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

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

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`");