SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 08.07.2009 19:05:51

gnomm
Участник
Зарегистрирован: 08.07.2009
Сообщений: 2

Русские слова вопросами.

Русские слова на сайте отображаются вопросами. Не знаю в какой кодировке была БД изначально, но я сделал 2 дампа в разных кодировках cp1251 и utf8 соответственно. Развернул дамп в кодировке utf8 - в phpmyadmin русские буквы вопросами, на сайте - вопросами. Думаю, ну ладно есть второй дамп - ничего мол страшного. Развернул дамп в кодировке cp1251. Результат: phpmyadmin - все красиво и по-русски, на сайте -ВОПРОСАМИ!!! Пробовал указать кодировку для сайта в .htaccess по средьствам AddDefaultCharset=cp1251 или utf8 бестолку...
Товарищи, если есть какие-нибудь еще варианты подскажите, плз, не то мне голову оторвут (сайт - интернет-магазин)...

Неактивен

 

#2 08.07.2009 20:03:38

gnomm
Участник
Зарегистрирован: 08.07.2009
Сообщений: 2

Re: Русские слова вопросами.

А все разобрался!!!! Я-а-х-У-У-У!!!!
Если кому-нибудь интересно могу поделиться. Движок интернет-магазина Shop Script premium.

Делать надо так.

Заменить в файле includes/database/mysql.php:

Вот этот кусок кода:

function db_connect($host,$user,$pass) //create connection
{
    $r = mysql_connect($host,$user,$pass);
    if(preg_match('/^5\./',mysql_get_server_info($r)))db_query('SET SESSION //sql_mode=0');
    return $r;


на вот этот кусок кода:

function db_connect($host,$user,$pass) //create connection
{
       $r = mysql_connect($host,$user,$pass);
       if(preg_match('/^5./',mysql_get_server_info($r))) db_query('SET SESSION sql_mode=0');
       mysql_query("SET NAMES cp1251") or die("Invalid query: " .mysql_error());
       return $r;
}

Далее в PhpMyAdmin щелкнуть по иконке SQL (она будет слева) и в появившемся окне создать базу данных для Shop-Script с помощью следующей команды:

CREATE DATABASE `здесь указать имя базу данных` DEFAULT CHARACTER SET cp1251 COLLATE cp1251_general_ci;

Далее:
Залить предварительно сделанный дамп в кодировке cp1251

З.Ы. преварительно сделанный дамп должен быть в кодировке ср1251

как сделать дамп БД с указанием кодировки?
Подключиться к серверу по SSH и выполнить нижеследующую команду
mysqldump -uимяпользователя -pпароль --default-character-set=utf8 имя_базы_данных > имя_дампа.sql

дамп сохранится в том месте на сервере от куда вы выполняли команду mysqldump...

Отредактированно gnomm (08.07.2009 20:17:11)

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson