Кодировка базы у работающего сайта cp1251

Главные вкладки

Аватар пользователя sitestyler.net sitestyler.net 1 апреля 2009 в 21:01

Не получается перенести сайт. У работающего сайта кодировка базы cp_general_1251. делаю бэкап базы из командной строки командой mysql... на другом хостинге, создаю базу, совершенно не важно какую кодировку ей ставить, после восстановления базы из дампа скриптом Sypex Dumper сайт на новом хостинге имеет проблемы с кодировкой. При восстановлении sypex'ом он пишет, что обнаружена кодировка базы cp1251. Воот. Как тут быть?
В какой кодировке по факту хранятся данные на рабочем хостинге? Возможно то, что там указана кодировка cp1251 ни о чем не говорит, а на самом деле все хранится в utf8?

Комментарии

Аватар пользователя v1adimir v1adimir 1 апреля 2009 в 22:34

это риалфакин политика mysql при работе с изменения на лету charset в связке клиент-сервер!

если у mysql сервера прописано в my.cnf что клиент хочет получать данные в виде cp1251, то в клиенте эту установку можно только переопределить указав "set names=utf8", чего mysqldump и ряд прочих "тупых" клиентов, сделать не позволяют.

я это победить для mysqldump не смог и в частности из-за этого ушел с хостинга на hostfabrica.ru. данная проблема гарантировано решается посредством phpmyadmin.

Аватар пользователя sitestyler.net sitestyler.net 2 апреля 2009 в 4:12

Если я правильно понял, то если я создам дамп базы работающего на cp1251 сайта phpmyadmin'ом, а затем восстановлю этот дамп на другом хостинге этим же phpmyadmin'ом то проблема решится. Так?

Аватар пользователя sitestyler.net sitestyler.net 2 апреля 2009 в 18:51

Не хватает базовых знаний. После переноса на другой хостинг и восстановления базы в phpmyadmin вижу кодировку cp1251 и русское содержание базы в phpmyadmin отображается корректно. Но друпал показывает знаки вопроса. Почему так происходит? Сорри, если совсем глупый вопрос, но что-то лыжи не едут...

Аватар пользователя sitestyler.net sitestyler.net 2 апреля 2009 в 18:51

Не хватает базовых знаний. После переноса на другой хостинг и восстановления базы, в phpmyadmin вижу кодировку cp1251 и русское содержание базы в phpmyadmin отображается корректно. Но друпал показывает знаки вопроса. Почему так происходит? Сорри, если совсем глупый вопрос, но что-то лыжи не едут...

Аватар пользователя v1adimir v1adimir 3 апреля 2009 в 0:57

1. убедись, что дамп базы сохраняется в utf8
2. проверь, что веб-сервер отдает контент как utf8

0. кинь ссылку на сайт.

Аватар пользователя migen migen 9 апреля 2009 в 15:04

У меня тоже возникли проблемы с кодировкой

Сначала пробовал прописывать в самом шаблоне charset=utf-8 и не помогло, вызывал print с перекодировкой. Далее начал менять кодировку в файле .htaccess AddDefaultCharset utf-8 и опять-таки без результатов, пока вовсе не отключил перекодировку на хостере в том же самом файле .htaccess прописал CharsetDisable On (но все предыдущие изменения вернул в исходные) и у меня сайт начал отображаться правильно в любом браузере не меняя кодировок