Кодировка сайта — это свойство веб-ресурса, благодаря которому пользователь может увидеть понятный ему текст на экране монитора.
Две самые популярные кодировки, которые сейчас используются на сайтах:
- UTF-8
- Windows-1251 (ANSI или CP1251)
Владельцу сайта следует знать важное правило кодировки, действующее для всего проекта — кодировки базы данных, файлов и подключения к базе данных обязательно должны совпадать.
Например, если на одном ресурсе в базе данных будет применена одна кодировка, а для файлов другая, то информация на сайте может отобразится некорректно:
Как исправить?
Существует несколько этапов решения проблемы с неправильной кодировкой: необходимо привести все кодировки (файлов, самого сайта, базы данных, подключения к базе данных) к единой, далее мы укажем ссылки на статьи, как это сделать или непосредственно напишем какие действия необходимо произвести:
- Указать кодировку в meta-теге. Чтобы браузер распознал, в какой кодировке находится информация веб-сайта, Вам следует поставить параметр:
<meta http-equiv="Content-Type" content="text/html; charset=имя кодировки">
.
В нашем примере в атрибуте charset прописана кодировка UTF-8.
- Изменить кодировку сайта с помощью файла .htaccess в корне сайта с кодом:
AddDefaultCharset utf-8
- Установить кодировку файлов можно через текстовый редактор например, Notepad++. Чтобы сменить кодировку ANSI на UTF-8 Вам потребуется открыть нужный файл через Notepad++, выбрать в верхнем меню «Кодировки» и в появившемся меню кликнуть «преобразовать в UTF-8 без BOM». Эти действия необходимо сделать со всеми файлами сайта.
-
Изменить кодировку базы данных MySQL
-
Установить кодировку соединения с базой. При каждом подключении сайта к 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 сервер Вы можете на нашем сайте.