Указание кодировки БД в скриптах сайта при использовании хостинга и панели управления cPanel
Руководство по смене кодировки сайта через конфигурационный файл .htaccess
По умолчанию глобальная кодировка MySQL на серверах виртуального хостинга установлена "cp1252 West European (latin1)", это особенность панели управления cPanel.
Для указания кодировки вашего сайта для отображения его в браузере перейдем в раздел «Файлы → Диспетчер файлов»
Перейдем в папку «public_html».
По умолчанию файл «.htaccess» скрыт. Поэтому нажмем на кнопку «Настройки» и поставим галочку возле «Показать скрытые файлы (dotfiles)».
Далее выберем наш .htaccess и нажмем кнопку «Редактировать».
В появившемся окне нажмем кнопку «Отключить проверку кодировки» и кнопку «Edit».
Укажем следующие значения в начале файла:
- если мы хотим использовать кодировку UTF-8
AddDefaultCharset UTF-8
- если хотим использовать кодировку Windows-1251
AddDefaultCharset WINDOWS-1251
Далее можно нажать кнопку «Сохранить изменения».
Теперь перейдем на наш сайт и очистим кэш браузера, нажав «Ctrl + F5» или «Ctrl + R». Кодировка должна измениться.
Также стоит проверить, какая кодировка используется в вашей БД. Для этого зайдем в утилиту для управления базами данных «Базы Данных → phpMyAdmin»
Откроем необходимую базу данных, нажав на ее название слева, и перейдем в раздел «Операции»
В поле Сравнение выставьте ту же кодировку, которая используется на сайте.
Теперь очистим кеш браузера, нажав «Ctrl + F5» или «Ctrl + R» и проверим, как отображается сайт.
Также необходимо проверить кодировку при запросе данных в скриптах вашего сайта и указывать требуемую кодировку в которой находятся данные. Например для UTF-8.
mysql_query ("set_client='utf8'");
mysql_query ("set character_set_results='utf8'");
mysql_query ("set collation_connection='utf8_general_ci'");
mysql_query ("SET NAMES utf8");