Проблеми з кодуванням на сайті, Як змінити кодування сайту

Ситуація, коли в результаті відкриття сайту замість необхідного нам змісту виводяться різні символи, що не читаються, виникає, коли кодування документа не збігається з кодуванням, яке встановлює сайту сервер. Головним принципом відсутності проблем із кодуванням є унікальність кодування у всьому вашому проекті.

Як же це простежити та усунути проблему з кодуванням на сайті?

Зміст

Кодування в meta-тезі

Дуже просто. Почніть із самого документа. При створенні будь-якого html-документа його кодування вказується в блоціheadmeta-тегу. Цей meta-тег виглядає наступним чином:

Цей тег говорить про те, що документ використовує кодуванняUTF-8, або так званий Юнікод. Найбільш поширеними кодуваннями єUTF-8таWindows-1251. Кодування UTF-8 працює з усіма символами і є найбільш зручним для сайтів, які містять матеріали різними мовами. Для кирилиці та англійських букв також часто використовують кодування Windows-1251. Вибір кодування документа завжди залишається на вашу думку, головне, щоб кодування документа і сервера збігалися. Якщо ви створюєте документ у кодуванні Windows-1251, то в meta-тезіutf-8слід замінити наwindows-1251.

Кодування документа

Далі. Коли ваш документ готовий, і ви визначилися з його кодуванням, вказавши його в meta-тегу, важливо, щоб і сам документ був збережений у цьому кодуванні.

Кодування в .htaccess

Якщо при відкритті даного документа у браузері перед вами все одно з'являються некоректні символи, тут причина в налаштуваннях сервера. Проте вирішити цю проблему також не складно. Для цього вам знадобиться лише один рядок у файлі.htaccess. Цей файл знаходиться в кореневій директорії Вашого сайту разом з індексним файлом. Якщо файл .htaccess відсутній у кореневій директорії, його слід створити. У цьому файлі потрібно прописати наступний рядок:

Зрозуміло, якщо ви використовуєте Windows-1251, замість UTF-8 слід прописати WINDOWS-1251. Потім потрібно зберегти файл .htaccess. Перезапуск сервера після цього не обов'язково.

Кодування в базі даних MySQL

Після цього некоректні символи із сайту мають зникнути. Проте не звідусіль. Крім файлів сайт тримається ще на базах даних, таблиці та поля яких теж мають своє кодування. Кодування таблиць і полів бази даних має також збігатися з кодуванням всіх файлів сайту та сервера. Якщо ж після виставлення правильного кодування в базі даних перед вами все одно виникають незрозумілі символи, то проблема кодування підключення до бази даних. Щоб вирішити цю проблему, підключіться до сервера баз даних з правами mysql root користувача.

виберіть потрібну вам БД

та виконайте наступний запит:

Якщо ви використовуєте кодування Windows-1251, то замість utf-8 слід прописатиcp1251. Так це кодування називає сервер MySQL.

На цьому все. Ваш сайт повинен відображатися як слід.

Примітка

Часто виникають ситуації, пов'язані з тим, що файл.htaccessне працює. Це пов'язано з налаштуваннями Apache для вашого сервера або окремого віртуального хоста, на якому міститься Ваш сайт. За опції файлу відповідає директиваAllowOverride, яка використовується в конфігураційному файлі Apache -httpd.conf. Якщо ця директива виглядає так:AllowOverride None, то сервер ігноруватиме файли.htaccess. Для вирішення цієїпроблеми слід замінитиNoneнаAll. Це дасть можливість перевизначати всі допустимі налаштування за допомогою файлу .htaccess. Після внесення змін до файлуhttpd.confнеобхідно або перезапустити веб-сервер (краще), або виконати командуservice httpd reload(перечитати директиви без перезапуску веб-сервера), щоб зміни вступили до силу.