Profic
just Profic (PHP5 BetaTeam)
Если у вас MySQL 4.1 и любые проблемы с русскими буквами, то загляните вначале сюда!
Обновленное и более подробное описание проблем и способов решения проблем в MySQL 4.1 с русскими буквами смотрите в FAQ:
MySQL 4.1, проблемы с русскими буквами
-------- Добавление от DiMA -------
[size=+1]Если глючат кодировки, сортировка с русскими буквами не работает и т.п. - читаем:
Патч MySQL 5.х (Windows) для включения cp1251[/size]
Проверено на Apache2, PHP 5.0.4 и MySQL 5.0.11-beta:
1) Останавливаем Апач, открываем HIEW'ом файл libmysql.dll (из каталога PHP) - меняем четыре строчки:
latin1 заменить на сp1251
latin1_bin заменить на cp1251_bin
latin1_german2_ci заменить на cp1251_general_ci
latin1_swedish_ci заменил на cp1251_general_ci
C:/MySQL/ заменить на . (точку) и дополнить девятью нулями \x00 (символом с кодом нуль, а не нулями \x30)
2) Там, где лежит apache2.exe (т.е. в Apache/bin) создаем каталог share и в нем каталог charsets. В этот каталог Apache/bin/share/charsets копируем все файлы из MySQL/bin/share/charsets (хотя достаточно только Index.xml и cp1251.xml). Благодаря замене "C:/mysql" на "." (и забиванием дополняющего места нулями) библиотека будет искать кодировку в "./share/charsets"
3) Запускаем Апач - работает. И самое главное - не надо держать каталог C:\MySQL с хламом. Все файлы Apache/PHP будут брать со своего локального пути.
Аналогичный патч можно применить и к mysql.exe, mysqld-nt.exe, но смысла нет (в рамках данной темы). Смотрите по FileMonitor и фильтром "*1251*;*charset*" кто и в каком месте пытается искать файлы.
Ну, и просто в my.ini не забыть проверить наличие строк:
[mysqld]
basedir="c:/..../mysql/"
datadir="c:/..../mysql/data/"
character-sets-dir="c:/..../mysql/share/charsets"
default-character-set="cp1251"
default-collation="cp1251_general_ci"
character-set-server="cp1251"
(опцию init-connect можно не трогать - не работает)
Обновленное и более подробное описание проблем и способов решения проблем в MySQL 4.1 с русскими буквами смотрите в FAQ:
MySQL 4.1, проблемы с русскими буквами
-------- Добавление от DiMA -------
[size=+1]Если глючат кодировки, сортировка с русскими буквами не работает и т.п. - читаем:
Патч MySQL 5.х (Windows) для включения cp1251[/size]
Проверено на Apache2, PHP 5.0.4 и MySQL 5.0.11-beta:
1) Останавливаем Апач, открываем HIEW'ом файл libmysql.dll (из каталога PHP) - меняем четыре строчки:
latin1 заменить на сp1251
latin1_bin заменить на cp1251_bin
latin1_german2_ci заменить на cp1251_general_ci
latin1_swedish_ci заменил на cp1251_general_ci
C:/MySQL/ заменить на . (точку) и дополнить девятью нулями \x00 (символом с кодом нуль, а не нулями \x30)
2) Там, где лежит apache2.exe (т.е. в Apache/bin) создаем каталог share и в нем каталог charsets. В этот каталог Apache/bin/share/charsets копируем все файлы из MySQL/bin/share/charsets (хотя достаточно только Index.xml и cp1251.xml). Благодаря замене "C:/mysql" на "." (и забиванием дополняющего места нулями) библиотека будет искать кодировку в "./share/charsets"
3) Запускаем Апач - работает. И самое главное - не надо держать каталог C:\MySQL с хламом. Все файлы Apache/PHP будут брать со своего локального пути.
Аналогичный патч можно применить и к mysql.exe, mysqld-nt.exe, но смысла нет (в рамках данной темы). Смотрите по FileMonitor и фильтром "*1251*;*charset*" кто и в каком месте пытается искать файлы.
Ну, и просто в my.ini не забыть проверить наличие строк:
[mysqld]
basedir="c:/..../mysql/"
datadir="c:/..../mysql/data/"
character-sets-dir="c:/..../mysql/share/charsets"
default-character-set="cp1251"
default-collation="cp1251_general_ci"
character-set-server="cp1251"
(опцию init-connect можно не трогать - не работает)