Меня несколько раз просили написать, как поменять кодировку на сайте . Дело это состоит из нескольких частей, поэтому в двух словах не объяснить. И я принял решение написать эту статью, в которой чётко расписать, что требуется для смены кодировки на сайте .

Как поменять кодировку на сайте

Меня несколько раз просили написать, как поменять кодировку на сайте. Дело это состоит из нескольких частей, поэтому в двух словах не объяснить. И я принял решение написать эту статью, в которой чётко расписать, что требуется для смены кодировки на сайте.

Давайте с Вами будем переводить сайт в кодировку UTF-8. Если Вы хотите перевести в любую другую кодировку, то всё будет аналогично. Итак, вот порядок действий для этого:

  1. Все текстовые файлы (html, php, js, txt, в общем, в которых есть текст) перекодируйте в UTF-8. Сделать это очень просто через Notepad++ в пункте "Преобразовать в UTF-8 без BOM" из меню "Кодировки". Причём именно все файлы, которые даже ничего не выводят на страницу.
  2. Поместите в корень сайта файл .htaccess с текстом AddDefaultCharset UTF-8.
  3. Поменяйте кодировку в мета-теге <meta http-equiv="Content-type" content="text/html; charset=utf-8" />

Если Ваш сайт не использует базу данных, то на этом этапе можно закончить менять кодировку. Но если база данных есть, то нужно сделать ещё и следующие шаги:

  1. Сразу после подключения к БД выполните запрос: SET NAMES UTF-8
  2. В phpMyAdmin поменяйте кодировку базы данных на utf8_general_ci в её настройках.
  3. Поставьте у всех таблиц кодировку utf8_general_ci.
  4. У всех текстовых типов полей так же поставьте кодировку utf8_general_ci.

Всё, теперь Ваша кодировка на сайте изменена. Добавлю лишь, что если где-то в коде Вы занимались преобразованием из одной кодировки в другую (например, через функцию iconv()), то тщательно проверьте это место, возможно, там появится проблема.

Если после смены кодировки у Вас что-то отображается не так, то почитайте эту статью: проблемы с кодировкой.