Кодування, файл htaccess і настройки сервера

Сьогодні ще одна замітка з циклу про роботу з кодуванням тексту.

Кодування, файл htaccess і настройки сервера

Зараз я б хотів розповісти ще про одну проблему, пов'язану з кодуванням.

Коли ви переглядаєте файл на своєму комп'ютері, з кодуванням все може бути нормально, але при розміщенні його на веб-сервері, починають з'являтися проблеми.

В чому справа? Чому так відбувається?

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

Команда від сервера є головною.

Якщо відбувається такий момент, що кодування, в якій документ написаний і кодування, яку вимагає сервер, не збігаються, тоді і з'являється неприємна ситуація - кодування тексту відобразитися не вірно.

Особливо така ситуація часто виникає на безкоштовних хостингах.

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

Як це виправити?

Є два основних шляхи:

1) Перетворити кодування тексту в той формат, який вимагає сервер.

Як це зробити, я писав тут:

2) Підкоригувати вимоги сервера (якщо є така можливість)

Давайте розглянемо ситуацію, якщо ви маєте справу з веб-сервером Apache.

У цього веб-сервера є такий файлик, який називається htaccess. Він відповідає за настройки сервера, які можна задавати, не втручаючись в конфігураційні файли самого сервера. Я зараз не буду про нього докладно розповідати, це не входить в рамки цієї замітки.

Вам потрібно просто знайти його в кореневій папці вашого сайту, якщо його там немає, то тоді його потрібно буде створити і додати там наступний рядок коду:

Замість UTF-8 можна вказати будь-яку іншу систему кодування.

Команда AddDefaultCharset - задає кодування тексту, яка буде використовуватися сервером за замовчуванням.

Якщо ви, навпаки, хочете, щоб сервер не ставив кодування за замовчуванням, то це можна зробити так:

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