Опять проблемы кодировки. Вместо кирилиц&#109 Опять проблемы кодировки. Вместо кирилиц&#109
 

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

Опять проблемы кодировки. Вместо кирилицm

Started by KreZ, March 19, 2007, 10:14:23 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

KreZ

Перенес базу галереи на новый сервер и теперь вместо кириличеких символов только знаки вопросов, вот http://evanescence-ua.com/gallery/
Подскажите в каком файле и где именно надо добавить mysql_query("set CHARACTER SET cp1251");
Или может есть другой способ?

Alex Revo

Äëÿ ïåðåíîñà ãàëåðåè íà íîâûé ñåðâåð íåò íèêàêîé íåîáõîäèìîñòè ÷òî-òî èçìåíÿòü.
Ñêîðåå âñåãî òû âûáðàë ïðè çàãðóçêå äàìïà áàçû ðåæèì 1251, à íàäî áû íè÷åãî íå òðîãàòü. Óáåé âñå òàáëèöû èç áàçû è çàëåé äàìï çàíîâî.

KreZ

Дамп базы я залил правильно. Я даже создал новую галлерею для проверки и та мтоже были только "?????". Проблема в кодировке сервера. На форуме IPB такая же проблема, но я нашел решение (добавил mysql_query("set CHARACTER SET cp1251"); в один из файлов). Я просто не знаю куда надо добавлять эту команду в фотогалерее.

KreZ

ВОт что сегодня хостер написал:
"Это - проблема того, что в старых версиях mysql не нужно было ставить кодировку при подключении, а у нас на сервере стоит современный."
Подскажите пожалуйста где надо указывать кодировку.

Alex Revo

ñòðàííî, ó ìåíÿ ìóñêóë òîæå íå ñòàðûé è âñå íîðìàëüíî...

Õîðîøî, îòêðîé function.inc.php è íàéäè òàì:
// Connect to the database

/**
* cpg_db_connect()
*
* Connect to the database
**/


Íèæå áóäåò òî, ÷òî òû èñêàë.

KreZ

Пытался по разному изменить, но не вышло. Подскажи пожалуйста как надо изменить код
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 CHARACTER SET cp1251");"? А то я в РНР плохо разбираюсь :)

KreZ

Проблема решена. Нашел код
function cpg_db_query($query, $link_id = 0)
{

        global $CONFIG, $query_stats, $queries;

        $query_start = cpgGetMicroTime();

        if ($link_id) {
                                $result = mysql_query($query, $link_id);
        } else {
                                $result = mysql_query($query, $CONFIG['LINK_ID']);
        }
        $query_end = cpgGetMicroTime();
        if (isset($CONFIG['debug_mode']) && (($CONFIG['debug_mode']==1) || ($CONFIG['debug_mode']==2) )) {
                $duration = round($query_end - $query_start, 3);
                $query_stats[] = $duration;
                $queries[] = "$query ({$duration}s)";
        }
        if (!$result) cpg_db_error("While executing query \"$query\" on $link_id");

        return $result;
}


И заменил на
function cpg_db_query($query, $link_id = 0)
{
mysql_query("set CHARACTER SET cp1251");
        global $CONFIG, $query_stats, $queries;

        $query_start = cpgGetMicroTime();

        if ($link_id) {
                                $result = mysql_query($query, $link_id);
        } else {
                                $result = mysql_query($query, $CONFIG['LINK_ID']);
        }
        $query_end = cpgGetMicroTime();
        if (isset($CONFIG['debug_mode']) && (($CONFIG['debug_mode']==1) || ($CONFIG['debug_mode']==2) )) {
                $duration = round($query_end - $query_start, 3);
                $query_stats[] = $duration;
                $queries[] = "$query ({$duration}s)";
        }
        if (!$result) cpg_db_error("While executing query \"$query\" on $link_id");

        return $result;
}