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

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

Опять проблемы кодировки. Вместо кирилиц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;
}