Просмотров: 4 625

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

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

1317040588_cirylysim

Вот ссылочки, чтобы увидеть предыдущие публикации:

Как поменять или изменить кодировку текста веб-документа (html, css, php и др.)

Как изменить кодировку записей баз данных MySQL.

 

Сейчас я бы хотел рассказать еще об одной проблеме, связанной с кодировкой.

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

В чем дело? Почему так происходит?

Дело в том, что иногда бывают такие веб-сервера, в настройках которых, явно прописано в какой кодировке отображать текст в браузере. Причем, эта кодировка выдается браузеру принудительно и обычный пользователь не может ничего изменить.

Команда от сервера является главной.

Если происходит такой момент, что кодировка, в которой документ написан и кодировка, которую требует сервер, не совпадают, тогда и появляется неприятная ситуация – кодировка текста отобразиться не верно.

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

Вот и получается ситуация, что на вашем домашнем компьютере все работает замечательно, но как только вы публикуете файл на сервере, начинаются проблемы.

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

Есть два основных пути:

1) Преобразовать кодировку текста в тот формат, который требует сервер.

Как это сделать, я писал здесь:

//webgyry.info/home/osnovyi-rabotyi-s-saytami/kak-pomenyat-ili-izmenit-kodirovku-teksta-veb-dokumenta-html-css-php-i-dr/

2) Подкорректировать требования сервера (если есть такая возможность)

Давайте рассмотрим ситуацию, если вы имеете дело с веб-сервером Apache.

У этого веб-сервера есть такой файлик, который называется htaccess. Он отвечает за настройки сервера, которые можно задавать, не вмешиваясь в настроечные файлы самого сервера. Я сейчас не буду о нем подробно рассказывать, это не входит в рамки этой заметки.

Вам нужно просто найти его в корневой папке вашего сайта, если его там нет, то тогда его нужно будет создать и добавить там следующую строку кода:

AddDefaultCharset UTF-8

Вместо UTF-8 можно указать любую другую кодировку.

Команда AddDefaultCharset – задает кодировку текста, которая будет использоваться сервером по умолчанию.

Если вы, наоборот, хотите, чтобы сервер не задавал кодировку по умолчанию, то это можно сделать так:

charsetdisable on

AddDefaultCharset Off

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