По умолчанию глобальная кодировка 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");