|
Проблема кодировок mysql при переносе сайта с хостинг на хостинг вечная проблема. Особенно эта проблема встречается у тех, кто переходит с настроенного хостера на свой только что установленный сервер и не настроенный. И так вы сдампили базу данных своего сайта, и импортируете на виртуальный сервер, или реальный сервер - в итоге получаете вместо кирилицы знаки вопроса ??????????????. Я нашел решение.
И так решение номер рас: 1 способ: ищем файлик php, где идет подключение к базе данных вида mysql_connect. Файл обычно называется init.php. Сразу после подключения к базе вставляем строчку mysql_query('SET NAMES cp1251'); Иногда движок закодирован в Zend и этот способ становится трудоемким, тогда переходим к второму способу: 2 способ: Ишем на сервере конфигурационный файл настройки mysql - /etc/my.cnf (или /etc/mysql/my.cnf)
В раздел [mysqld] добавляем следующее:
default-character-set=utf8 character-set-server=utf8 collation-server=utf8_general_ci init-connect="SET NAMES utf8" skip-character-set-client-handshake
Последние строки устанавливают кодировку utf8 принудительно для всех запросов.
В раздел [mysqldump] достаточно добавить default-character-set=utf8
После этого MySQL будет работать с windows-1251 кодировкой Если при импорте базы вместо русских букв светятся иероглифы или вопросы, видимо дамп sql был сделан в другой кодировке, не в utf8. Создайте дамп в utf8 или перекодируйте его в нужную кодировку с помощью iconv или recode. Ну вот вроде решение проблемы!
|
Комментарии
Я не помню уже, но вроде файл называется init.php там происходит подключение к базе - пароль логин сервер. После подключения надо вставить строчку с кодировкой
где этот файл найти из первого способа