В этой статье речь пойдёт о том какую кодировку стоит использовать на своих сайтах и в своих скриптах.
Популярные кодировки
В веб-разработке популярны кодировки Windows-1251 и UTF-8.
Windows-1251 (CP-1251)
В этой кодировке есть практически все символы, которые необходимы для русскоязычных сайтов. Некоторые спецсимволы и буквы из других языков отображаться не будут.
UTF-8
В этой кодировке содержаться практически все существующие символы.
Важный момент! UTF-8 может быть с сигнатурой (Byte Order Mark, BOM) или без сигнатуры.
Чтобы не возникали лишние проблемы, лучше использовать UTF-8 без BOM.
Какую кодировку использовать
Я рекомендую использовать кодировку UTF-8 без BOM.
Если требуется взаимодействие приложения с сервером посредством URLRequest в ActionScript или AJAX в JavaScript, то при работе с другой кодировкой могут возникать проблемы - вместо нормального текста будут приходить крякозябры.
ActionScript работает с данными в кодировке UTF-8. Чтобы работать с кодировкой Windows-1251 необходимо будет вручную преобразовывать текст.
В JavaScript при использовании UTF-8 без BOM тоже не появляются лишние проблемы с кодировкой.
Используйте для всех файлов кодировку UTF-8 без BOM. Для html, php, txt, js, css. Если работаете с базой данных, то храните в ней данные в кодировке UTF-8.
Если вы будете смешивать разные кодировки, то усложните свою работу.
При использовании кодировки UTF-8 размер файлов и базы данных может быть больше чем при использовании кодировки Windows-1251. Но я не считаю что стоит экономить место на сервере, из-за усложнения развитие вашего проекта в будущем.
Использование iconv в php
Многие начинающие и неопытные "программисты", не задумываются о кодировке и потом часто используют функцию iconv для преобразование текста в нужную кодировку.
Не стоит где попало использовать функцию iconv в php. Это затратная функция, она потребляет ресурсы сервера. Бывают случаи когда эту функцию надо использовать, но если вы используете её в каждом скрипте, то задумайтесь о том чтобы переделать проект под нужную кодировку.
Как поменять кодировку файла
Для того чтобы менять кодировку файлов, я рекомендую использовать Notepad++.
В обычном блокноте вы можете столкнуться с тем, что файлы будут сохраняться не в нужной кодировке (UTF-8 с BOM).
В меню Notepad++ есть пункт «Кодировки - Преобразовать в UTF-8 без BOM».
В настройках можно установить эту кодировку для новых файлов по умолчанию.
В нижней статус строке можно узнать текущую кодировку файла.
Настройки сервера
Иногда после изменений кодировки файла, при открытии файла загруженного на сервер, в браузера файл открывается не в той кодировке. Нужно изменить настройки сервера, чтобы он отдавал файлы в нужной кодировке.
Если есть доступ к настройкам через файл .htaccess, надо написать в нем
Код: Выделить всё
AddDefaultCharset utf-8
Если ни одной из этих возможностей нет, то задумайтесь о смене вашего хостера.