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

Кодировка сайта — это свойство веб-ресурса, благодаря которому пользователь может увидеть понятный ему текст на экране монитора.

Две самые популярные кодировки, которые сейчас используются на сайтах:

  • UTF-8
  • Windows-1251 (ANSI или CP1251)

Владельцу сайта следует знать важное правило кодировки, действующее для всего проекта — кодировки базы данных, файлов и подключения к базе данных обязательно должны совпадать.

Например, если на одном ресурсе в базе данных будет применена одна кодировка, а для файлов другая, то информация на сайте может отобразится некорректно:

Некорректное отображение информации

Как исправить?

Существует несколько этапов решения проблемы с неправильной кодировкой: необходимо привести все кодировки (файлов, самого сайта, базы данных, подключения к базе данных) к единой, далее мы укажем ссылки на статьи, как это сделать или непосредственно напишем какие действия необходимо произвести:

  1. Указать кодировку в meta-теге. Чтобы браузер распознал, в какой кодировке находится информация веб-сайта, Вам следует поставить параметр:
    <meta http-equiv="Content-Type" content="text/html; charset=имя кодировки">.
    В нашем примере в атрибуте charset прописана кодировка UTF-8.
    Метатеги
  2. Изменить кодировку сайта с помощью файла .htaccess в корне сайта с кодом:
    AddDefaultCharset utf-8
  3. Установить кодировку файлов можно через текстовый редактор например, Notepad++. Чтобы сменить кодировку ANSI на UTF-8 Вам потребуется открыть нужный файл через Notepad++, выбрать в верхнем меню «Кодировки» и в появившемся меню кликнуть «преобразовать в UTF-8 без BOM». Эти действия необходимо сделать со всеми файлами сайта.

    Смена кодировки через редактор Notepad++

  4. Изменить кодировку базы данных MySQL

  5. Установить кодировку соединения с базой. При каждом подключении сайта к MySQL нужно, чтобы последовательно выполнялись примерно такие (в случае кодировки UTF-8) запросы:
    SET NAMES UTF8
    SET CHARACTER SET UTF8
    SET character_set_client = UTF8
    SET character_set_connection = UTF8
    SET character_set_results = UTF8

    В PHP это реализуется примерно так:
    $mysqli = new mysqli($server, $username, $password, $basename);
    $mysqli->query("SET NAMES UTF8");
    $mysqli->query("SET CHARACTER SET UTF8");
    $mysqli->query("SET character_set_client = UTF8");
    $mysqli->query("SET character_set_connection = UTF8");
    $mysqli->query("SET character_set_results = UTF8");

После произведенных выше действий информация на сайте должна отображаться корректно. Обратите внимание, что если вы перекодируете базу данных или файлы, данные в которых повреждены, например, вместо букв отображаются так называемые «кракозябры», то перекодирование указанным выше способом не приведет к желаемому результату, его необходимо выполнять с неповрежденными данными.

Арендовать VPS сервер Вы можете на нашем сайте.

Принимаем
Все способы