Get lucky
Есть скрипт который преобразует много страниц на сайте из win1251 в UTF-8 но возникает такая трудность, преобразует он их в UTF8 с BOM, из-за этого возникает трудность в отображении некоторых элементов сайта... Кто-нибудь подскажет есть ли возможность задать кодировку UTF8 без BOM, через сам скрипт, а не в ручную через редакторы.


на всякий случай привожу текст скрипта
читать дальше



@темы: Вопрос, C++, *nix, Интернет

Комментарии
16.10.2013 в 00:22

Миру - мир. А Вам - пломбир!
BOM в utf-8 – три байта в начале файла: xEF, xBB, xBF (для других кодировок могут быть другие).
Следовательно, их можно убрать скриптом/командой на чём угодно: python, tail, sed, php, awk, perl, ...
Ну вот, например:
16.10.2013 в 00:23

тролль - это не только ценный жир, но и 3-4 легкоусвояемых коммента ежедневно
1) ставишь Lua (в обычном линухе пакет называется Lua5.1 или Lua5.2)
2) скачиваешь файл, называешь его, например, convertor, даёшь права на запуск
3) заменяешь строку
iconv -f WINDOWS-1251 -t UTF-8 $i.icv > $i
на
./convertor $i.icv > $i
16.10.2013 в 01:13

Get lucky
Скептичный циник, Спасибо, сейчас попробую...
16.10.2013 в 01:14

Get lucky
CD_Eater, вам тоже, попробую и как вы сказали
16.10.2013 в 07:57

тролль - это не только ценный жир, но и 3-4 легкоусвояемых коммента ежедневно
Сигурд Лис, не, не пробуйте. Вариант Сценичного киптика проще. ))
23.10.2013 в 16:30

Get lucky
Спасибо за советы. В общем и целом с вашей помощью сумели накатать програмулину которая убирает именно эти три бита в PHP, с рекурсией и так далее. Если кому интересно могу поделиться.
23.10.2013 в 17:01

Миру - мир. А Вам - пломбир!
Сигурд Лис, Если оно отличается чем-то от рекурсивного вызова preg_replace() / str_replace() / mb_substr() / usw, то интересно, делитесь – кому-то да пригодится в такой же ситуации.