coppermine-gallery.com/forum

Support => Русский (Russian) => Language Specific Support => cpg1.4.x FAQ (Russian) => Topic started by: Makc666 on May 03, 2007, 02:29:52 PM

Title: Проблема с кодировкой при переходи с MySQL 4.0 на 4.1.* &
Post by: Makc666 on May 03, 2007, 02:29:52 PM
Решил написать на основе темы:
encoding issue (MySQL 4.1.15)
http://forum.coppermine-gallery.net/index.php?topic=24129.0 (http://forum.coppermine-gallery.net/index.php?topic=24129.0)
, т.к. сам столкнулся с этим.

Если Вы или Ваш хост обновились с MySQL 4.0 на 4.1.* или 5.*
Если MySQL 4.1.* или 5.* работает по умолчанию в UTF-8. -->> MySQL-кодировка: UTF-8 Unicode (utf8)
Если база данных вашей галереи в кодировке cp1251. -->> Сравнение "cp1251_general_ci"

То нужно...

Открыть файл:
include/functions.inc.php

Найти кусок кода:
function cpg_db_connect()
{
       global $CONFIG;
       $result = @mysql_connect($CONFIG['dbserver'], $CONFIG['dbuser'], $CONFIG['dbpass']);
       if (!$result) {
               return false;
       }
       if (!mysql_select_db($CONFIG['dbname']))
               return false;
       return $result;
}


Добавить в него строку:
mysql_query("SET NAMES 'cp1251'",$result);

Чтобы получилось вот так:
function cpg_db_connect()
{
       global $CONFIG;
       $result = @mysql_connect($CONFIG['dbserver'], $CONFIG['dbuser'], $CONFIG['dbpass']);
       if (!$result) {
               return false;
       }
       if (!mysql_select_db($CONFIG['dbname']))
               return false;
mysql_query("SET NAMES 'cp1251'",$result); <<--- добавленная строка
       return $result;
}


Сохранить файл.

Вот и всё :)