С PHP 5.1.0 часть скриптов на локалхосте Windows тупо перестала добавлять кириллицу... просто
dbquery("SET CHARACTER SET win-1251",$conid);
а не
dbquery("SET CHARACTER SET default",$conid);
в их файлах db.php
(мой стандартный файл для базовых операций с БД). Видимо, теперь Unicode - стандартная кодировка.
P.S. И вообще, этот синтаксис неправильный. Не надо "win-1251" в SQL:
mysql_query("SET NAMES 'cp1251'"); mysql_query("SET CHARACTER SET 'cp1251'");
MySQL и русская кодировка WINDOWS-1251
Сегодня мы рассмотрим, что нужно написать в конфигурационном файле /etc/my.cnf для того, чтобы настроить mysql стандартной сборки на работу с кодировкой cp1251 по умолчанию без всякой перекомпиляции.
Рассмотрим пример конфига на основе MySQL 5.x.
В раздел [mysqld] необходимо добавить следующее:
default-character-set=cp1251
character-set-server=cp1251
collation-server=cp1251_general_ci
init-connect=»SET NAMES cp1251″
skip-character-set-client-handshake
Две последние строки принудительно устанавливают кодировку cp1251 для всех запросов.
В раздел [mysqldump] достаточно добавить только
default-character-set=cp1251
Этого достаточно, чтобы MySQL работал с windows-1251 кодировкой по умолчанию.
29.09.2009, 13:42 [9547 просмотров]