Главная > Сервера и сети > Знаки вопроса базы данных mysql

Знаки вопроса базы данных mysql

Если у вас на сайте кодировка отличается от UTF-8, например тексты в кодировке cp1251, то может возникнуть проблемы. MySql может использовать по умолчанию одировку отличную от cp1251. Проблема может возникнуть даже при выводе данных на сайт.

Часто проблема кодировок mysql встречается при переносе сайта. Особенно эта проблема встречается у тех, кто переходит с настроенного хостера на свой только что установленный, ненастроенный сервер. Выглядит это так - сдампили базу данных сайта с виртуального хостинга и импортируете на реальный сервер. Открываете сайт, а там вместо кирилицы знаки вопроса ??????????????. Но как обычно все решаемо, надо только немного настроить сервер.

Тормозит виндовс

Тормозит виндовс

Решение в самом сайте

Ищем файлик php, где идет подключение к базе данных вида mysql_connect. Файл обычно называется init.php. Сразу после подключения к базе вставляем строчку

mysql_query("SET NAMES 'cp1251'");

Если движок сайта закодирован в Zend и т.п., тогда решить эту проблему можно настроив веб сервер


Решение в настройках сервера mysql

Ишем на сервере конфигурационный файл настройки 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.

Тормозит виндовс

Добавить комментарий


Защитный код
Обновить


Наши заметки



Сайтостроение

Программирование и интеграция сайта с CMS, верстка HTML, CSS, PHP, JAVAscript

Всегда на связи

logotip

Комплексные IT решения для бизнеса и дома