LINUX.ORG.RU

Кодировка в MySQL


0

0

вобщем хочу сменить кодировку с utf-8 на cp1251 для этого добавил в my.cnf запись [client] port = 3306 socket = /var/lib/mysql/mysql.sock default_character_set = cp1251

Но когда загружаю phpMyAdmin, то выводится следующее: Language: Russian ru-utf-8 (и в этом списке нет cp1251) MySQL кодировка UTF-8 Unicode Сопоставление соединения с MySQL cp1251_bin

создаю новую БД, указываю кодировку cp1251, вставляю дамп (дамп в кодировке cp1251) у дампа указываю кодировку cp1251. После создания таблиц из дампа - данные выглядят в виде вопросиков, а не русских букв, причем в тех колонках где есть текст рядом выводится колонка сравнение latin.swedish_ci

Как сделать так чтоб были видны русские буквы и на сайте отображались корректно?

anonymous

У тебя 4.1.х, видать.

Там каждый клиент должен при подключении указывать кодировку обмена.

Я это решаю так:

$result = mysql_connect($db_server,$db_user,$db_password);
if ($result) mysql_query("set CHARACTER SET cp1251",$result);


Если вставляешь в базу дамп, то в начале дампа опять-таки, добавь строчку
set CHARACTER SET cp1251

Для таблиц в базе выставь кодировку сравнения - тоже cp1251.

AngryElf ★★★★★
()
20 декабря 2005 г.
Ответ на: комментарий от AngryElf

Влияет ли if ($result) mysql_query("set CHARACTER SET cp1251",$result); это на скорость? Думаю да, так как осуществляется дополнительный запрос. Значит ли это, что данный метод не эффективный? А потом люди жалуются, что переходят на более высокие версии продукта, а скорость остается прежней.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.