Главная arrow Заметки на полях arrow Кракозябры на сайте
Кракозябры на сайте
Автор Архитектор   
20.08.2015 г.

Иногда случается, когда устанавливаешь себе локально код сайта (по-просту все содержимое сайта) для отладки/изменений, обнаруживаются крякозябры вместо букв кодировки UTF-8. Такое случается, если вы переустановили ось, или сервер Баз Данных (сокращенно БД). Или просто обновили содержимое БД свеженьким, прямо с хостинга. Либо сервер БД имеет кодировку UTF-8, а содержимое таблиц сайта имеет кодировку cp1251. В общем вариантов может быть множество.

Как это побороть?

Причина ясна – копать надо в сторону кодировок при соединении с БД. В моем случае (а это CMS Joomla) надо поправить компоненту-контроллер работы с базами данных site/includes/database.php . Ищем там строку связанную с форматом запроса mysql_query SET NAMES. Обнаруживаю у себя закоментированную строку :

#@mysql_query(“SET NAMES ‘cp1251’ ”, $this->_resource);

Раскомментируем её, и наслаждаемся.

 

*Если у вас другая система, либо что-то самописное, аналогично прописываем формат запроса к БД с установкой формата или кодировки запроса: SET NAMES cp1251’.  Эту процедуру нужно проделывать для каждого запроса к БД.