Заметки сисадмина о интересных вещах из мира IT, инструкции и рецензии. Настраиваем Компьютеры/Сервера/1С/SIP-телефонию в Москве

WordPress и кодировка файлов UTF-8 без BOM

2012-08-22 · Posted in WordPress

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

Многие владельцы сайтов, в частности работающих на блоговом движке WordPress, редактируют PHP-файлы в блокноте, который прилагается к ОС Windows.

Поскольку сам движок WordPress работает с кодировкой UTF-8, а файлы шаблона, как правило, содержат русские буквы, т.е. кириллицу, то для правильного ее отображения такие файлы также необходимо сохранять в кодировке UTF-8.

Однако блокнот Windows при сохранении в кодировке UTF-8 добавляет в PHP-файлы невидимые символы, называемые BOM (кстати говоря, невидимые они именно в блокноте Винды), которые в результате приводят к тому, что либо на сайте отображается какая-то PHP-ошибка, либо “съезжает” дизайн.

Поэтому решение проблемы очень простое – при работе с кодировкой UTF-8 необходимо вообще забыть, что существует блокнот Windows и вместо него использовать нормальный текстовый редактор, который прекрасно умеет это делать. Например, Notepad++.

После установки Notepad++ откройте в нем целевой PHP-файл и меню выберите “Кодировки ->Кодировать в UTF-8 (без BOM)“:

 

После этого сохраните файл и загрузите его на свой сайт через FTP.

Если вы не знаете, какой из файлов сохранен в неправильной UTF-8 кодировке, то воспользуйтесьспециальным скриптом, который найдет все файлы с BOM, которые необходимо пересохранить вышеописанным способом.

Все, на этом задачу с кодировкой можно считать решенной.

P.S. По большому счету, вышеизложенная информация применительна вообще к любым текстовым файлам, а не только к файлам WordPress, но, поскольку я преимущественно работаю с WordPress, то изложил материал в контексте данного движка.

Leave a Reply