задача такая
есть хостинг, на хостинге сайт. cms коннектится к БД на сервере хостера.
Настройки БД на сервере
character_set_client utf8
character_set_connection utf8
character_set_database cp1251
character_set_filesystem binary
character_set_results utf8
character_set_server cp1251
character_set_system utf8Далее - задача.
На локалхост (centos 5) в /var/www/httpd копирую дамп cms.
Ничего не меняя, захожу на него. В полях, тянущихся с БД - ?? вместо русских букв. Текст, что является частью файлов cms отображается нормально.
База - та же, файлы и настройки движка - тоже. С апачем так все норм - кажет ведь кодировку нормально.ковырялся в локальном /etc/my.cnf - прописывание default-character-set в секциях [mysql] и [client] эффекта не дает.
получается, проблема в php?
>[оверквотинг удален]
> получается, проблема в php?Ага, всё он гад...
$ cat dump.sql
SET CHARACTER_SET_CLIENT=utf8;
SET CHARACTER_SET_RESULTS=utf8;
SET COLLATION_CONNECTION=utf8_general_ci;
SET NAMES utf8;CREATE TABLE IF NOT EXISTS `....
...
$ mysql -h 127.0.0.1 -u shaitan -p -D dabataza < dump.sql;
>[оверквотинг удален]
>> получается, проблема в php?
> Ага, всё он гад...
> $ cat dump.sql
> SET CHARACTER_SET_CLIENT=utf8;
> SET CHARACTER_SET_RESULTS=utf8;
> SET COLLATION_CONNECTION=utf8_general_ci;
> SET NAMES utf8;
> CREATE TABLE IF NOT EXISTS `....
> ...
> $ mysql -h 127.0.0.1 -u shaitan -p -D dabataza < dump.sql;ну тут все понятно, но это не катит
хочу с реальной базой работать, т.е. база как стояла на хостинге, так и стоит.
Сливаешь дамп http на локалхост, првишь что нужно, не внося никаких изменений никуда в конфиги.
дамп слил, страничку поправил, проверил, обратно залил, не трогая базу.
>>[оверквотинг удален]
> ну тут все понятно, но это не катит
> хочу с реальной базой работать, т.е. база как стояла на хостинге,
> так и стоит.
> Сливаешь дамп httpЧто такое дамп http??? :)
> на локалхост, првишь что нужно, не внося никаких изменений никуда в конфиги.
То есть веб-сервак на 127/8, а МуSQL где-то долеко?
> Что такое дамп http??? :)копия директории где лежит cms.
> То есть веб-сервак на 127/8, а МуSQL где-то долеко?
да, вебсервер с копией сайта развернут локально, а БД как была у хостера - так и лежит.
>> Что такое дамп http??? :)
> копия директории где лежит cms.Кстати, права проверь, мож чего не читается.
Было у меня пару раз, локальный umask был 077 (rwx-----), а удалённый 022 (rwxr--r-)>> То есть веб-сервак на 127/8, а МуSQL где-то долеко?
> да, вебсервер с копией сайта развернут локально, а БД как была у
> хостера - так и лежит.1. Сохранить с удалённого сервака переменные (SHOW VARIABLES;)
2. Сохранить с локального сервака переменные (SHOW VARIABLES;)
3. diff -u remote.txt local.txt
4. Сделать дамп базы и засунуть её в локальный MySQL.Сразу бы отпал вопрос от разных кодировках используемых при коннекте.