Что такое кодировка файла

Расскажу кратко, что такое кодировка, и для чего она вообще нужна.
Возможно Вы уже встречались с неправильной кодировкой текста в файле, это могло выражаться в отображении текста в виде "кракозябр".
Кракозябры, Неправильная кодировка

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

Отбросим, по сути не нужную нам теорию, и займемся практикой.
Главное правило, всегда, во всех своих файлах, устанавливайте одинаковую кодировку, чтобы не было никаких конфликтов, и текст отображался адекватно.
В Notepad ++ это выглядит так:
Кодировка в Notepad++

UTF-8 - я всегда ставлю ее, это самая распространенная кодировка, используйте ее, и у Вас будет меньше проблем с кодировкой сайта.

Стоп! А что значит UTF-8 без BOM? При установке кодировки на UTF-8 в начале файла создаются невидимые нам символы, в некоторых скриптах эти символы могут вызвать ошибки. В этом и есть основная разница между UTF-8 и UTF-8 без BOM, поэтому мы выбираем ее.

Идем дальше. Теперь во все наши HTML коды мы будем добавлять специальный Meta-тэг, который будет сообщать браузеру какая кодировка установлена на сайте. Выглядит он так:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

В некоторых ситуациях, кодировку необходимо указать и в PHP - скриптах, делается это с помощью кода:
<?
header('Content-Type: text/html; charset=utf-8');
?>

Смена кодировки строки в PHP. Функция iconv()


Иногда, бывают ситуации когда необходимо принудительно сменить кодировку строки. В PHP за это отвечает функция iconv(). Приведу пример ее использования:
<?
echo iconv("CP1251", "UTF-8", "Перекодируем в Юникод");
?>

В данном случае функция iconv() преобразует строку из кодировки Windows-1251 в кодировку UTF-8.

Внимательно следите чтобы во всех файлах была одинаковая кодировка.