По умолчанию глобальная кодировка MySQL на серверах виртуального хостинга установлена "cp1252 West European (latin1)", это особенность панели управления cPanel.

Для указания кодировки вашего сайта для отображения его в браузере перейдем в раздел «Файлы → Диспетчер файлов»

file

Перейдем в папку «public_html».

file

По умолчанию файл «.htaccess» скрыт. Поэтому нажмем на кнопку «Настройки» и поставим галочку возле «Показать скрытые файлы (dotfiles)».

file

Далее выберем наш .htaccess и нажмем кнопку «Редактировать».

file

В появившемся окне нажмем кнопку «Отключить проверку кодировки» и кнопку «Edit».

file

Укажем следующие значения в начале файла:

  • если мы хотим использовать кодировку UTF-8
AddDefaultCharset UTF-8  
  • если хотим использовать кодировку Windows-1251
AddDefaultCharset WINDOWS-1251  

file

Далее можно нажать кнопку «Сохранить изменения».

Теперь перейдем на наш сайт и очистим кэш браузера, нажав «Ctrl + F5» или «Ctrl + R». Кодировка должна измениться.


Также стоит проверить, какая кодировка используется в вашей БД. Для этого зайдем в утилиту для управления базами данных «Базы Данных → phpMyAdmin»

file

Откроем необходимую базу данных, нажав на ее название слева, и перейдем в раздел «Операции»

В поле Сравнение выставьте ту же кодировку, которая используется на сайте.

file

file

Теперь очистим кеш браузера, нажав «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");  
Обновлено 1 апреля 2020 г.