UTF-8 без BOM. Как удалить BOMы

Привет! Всем вам и мне, наверное все уши уже прожужжали: редактировать файлы Вордпресс можно только в текстовом редакторе Notepad++ или Notepad2 или еще могут предложить пару редакторов. Не хотел материться, но маленько придется
— поговорить немного о том в чем мало разбираюсь и на компьютерно-интернетном сленге. Не убегайте сразу — это нужно знать и уметь всем! Это очень просто!
Итак, все файлы Вордпресс ( во всяком случае файлы.php) изначально закодированы в UTF-8 без BOM ( без Bute Order Mark) — что такое BOM в кодировке UTF-8 — не спрашивайте, я сам толком не знаю, если захотите узнать — найдете в Интернете. Говорят, что символы PHP в UTF-8 являются 8-битными(восьмеричными), при возникновении BOM они становятся 16-битными(16-ричными). Считайте просто, например, что это тот зверь, который смотрит с экрана монитора на картинке. Если надо — ищите — да обрящете, стучитеся — да отверзнется! Незнание закона всемирного тяготения не мешает мне и многим миллионнам жить и успешно использовать его. Торгаши на весах даже успешно корректируют его
…Ну, поверили в себя? Едем дальше.
Знать это ( да и многое другое) вовсе даже и не нужно, только нужно знать, что наличие BOM — это не есть хорошо — это есть порча файлов, которая может вызывать ошибки загрузки (которые могут высветиться или не высветиться) и которые безусловно напрягают сервер вплоть до некоторой задержки загрузки сайта. В общем это появляются скрытые символы или 8-разрядная кодировка переходит в 16-разрядную и путает Вордпресс.
Они, эти проклятые ВОМы, обязательно возникнут при редактировании файлов через FTP-соединение посредством Блокнота. Более того — у меня возникло их аж четыре штуки при редактировании Notepadом++ — из-за собственной небрежности. Если у вас его (Notepad++ или другого, равного по силе редактора) пока нету — обязательно загрузите!
! Он абсолютно бесплатен. Вот скриншот (кликабельный) как им пользоваться:
То есть после правки текста файла в меню «Кодировки» необходимо щелкнуть «Преобразовать в UTF-8 без ВОМ». Это гарантирует незанесение ВОМа в отредактированный файл.
Ну, а теперь — главное: так как же поймать этих ВОМов и убить их
? Оказывается, даже очень просто и доступно всем начинающим блоггерам и сайтовладельцам, чьи сайты кодируются в UTF-8. Я подсмотрел это на блоге Юрия Белотицкого, если мне не верите
, то можете отыскать его и прочитать. Но я пишу намного более просто и понятно — можете не искать
. Он разработал специальный скрипт, который найдет эти подлые ВОМы на вашем блоге! Скрипт я выложу в конце статьи, а пока посмотрите скриншот, на котором показано, что он нашел адрес файла, в котором сидит ВОМ:
Скрипт называется find_bom.php, его надо добавить в конце вашей адресной строки и пройти по новому адресу. Причем до этого надо войти в админку, а потом перейти на просмотр сайта и добавить его (этот скрипт) без закрывающего слэша (/) и перейти по новому адресу. Через несколько секунд после перехода появится результат поиска. Ну у меня это результат по поддомену, на домене, который вы сейчас читаете было аж 3, но я их удалил, не зная еще что буду писать эту статью
. Так как же удалить этот ВОМ? А очень просто: через FTP-соединение открываете указанный файл и по первому скриншоту перекодируете его. При закрытии Notepada++ возникнет окошко: сохранить (save) изменения, щелкаете «да» (yes). Вот и все — один враг убит, последовательно убиваете всех врагов, пока не возникнет такая картина
:
Ну вот, подходим к концу рассказа, пора выкладывать скрипт от Юрия Белотицкого. Скопируйте его в буфер, откройте новый файл на вашем правильном редакторе (Notepad++) и вставьте скрипт туда. Зеленую часть не обязательно заливать на сервер — это инструкция — то что находится между тегами /* и */ — это не читается сервером (Вордпрессом) — это для пользователя. Я его залил полностью в папку (директорию, каталог) public_html, где у меня находится папка wp-content и другие… Так, так! Теперь надо правильно сохранить содержимое редактора.
1. Перво- наперво перекодируйте его в UTF-8 без ВОМ (по пути к вам он всенепременнейше подхватил уже его).
2. Сохраняете как find_bom с расширением .php. (find_bom.php).
3. Вот и все — у вас готов файл для заливки (закачивания) на сервер. Куда? Вы уже знаете — в открытую папку public_ html.
Итак, вот он этот скрипт между двумя моими линиями. Копируйте его.
______________________________________________________________________
<? /*
Этот скрипт ищет файлы, сохраненные с BOM. Использование: 1. залить на сервер в корневую директорию сайта2. в адресной строке броузера набрать http://ваш.сайт/find_bom.php
Если WordPress находится не в корне сайта, то скрипт нужно положить в директорию,где лежит WordPress, и из нее же и запускать.
Для увеличения скорости работы проверяются только те директории, в которые обычно пользователи кладут свои файлы.
*/
xdir(‘.’,0);xdir(‘./wp-content/themes’,1);xdir(‘./wp-content/plugins’,1);
function xdir($path,$recurs) { global $find; if ($dir = @opendir($path)) { while($file = readdir($dir)) { if ($file == ‘.’ or $file == ‘..’) continue; $file = $path.’/’.$file; if (is_dir($file) && $recurs) { xdir($file,1); } if (is_file($file) && strstr($file,’.php’)) { $f = fopen($file,’r'); $t = fread($f, 3); if ($t == «\xEF\xBB\xBF») { $find = 1; echo «$file<br>\n»; } fclose ($f); } } closedir($dir); }}if ($find == 0) echo «All clear»;?><hr>©<a href=»http://udiadivalery.com»>Yuri Belotitsky</a>
_____________________________________________________________________
Если возникнут вопросы — задавайте через комментирование — я очень люблю отвечать на комментарии!
Между прочим, вижу, что скрипт копируют очень редко. В чем дело? Задавайте вопросы, если я что-то непонятно рассказал. Да-а, вижу на эту статью заходит немало читателей, но практически не вижу копирования. Если манипуляции с копированием и сохранением скопированного как файл find_bom.php вызывают трудности немного облегчу задачу — я закачал этот файл (в архиве, без архивирования не принимают) на файлообменник Яндекс.Народ. Вот ссылка на скачивание: http://narod.ru/disk/27401745001/find_bom.rar.html . Скачать, распаковать архив и далее как описал выше. Удачи в борьбе с БОМ-ами.
.
Анекдоты от iGoogle:
Нет страшнее зрелища, чем буква «У» на лобовом стекле БЕЛАЗа.
—————————————————————————————-
- Ты — девушка моей мечты! Красивая, остроумная, веселая…
- Ты говоришь так только для того, чтобы меня трахнуть!
- К тому же, еще невероятно умная!
—————————————————————————————-
Программист после напряженного трудового дня залезает в холодильник, достает пачку масла, читает на обертке: «Масло сливочное. 72%». В голове быстрая мысль: «О! Скоро загрузится!» Возвращает масло в холодильник.
Закрывает дверцу.
—————————————————————————————
Это был очень странный лес. Сначала я ходил за грибами. Потом они за мной…
—————————————————————————————
В магазине продавец меняет ценник на ноутбуке с 25 тыс. руб. на 20 тыс.
- С чего это он вдруг так подешевел? — спрашивает покупатель у продавца.
- Новогодние скидки закончились.





Да щелкайте же! Не бойтесь - ни вирусов, ни порнухи там нет!





