22:52 

кодировки

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


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

#!/bin/bash

FILES=`find -iname '*.php'`
for i in $FILES
do
echo "Converting $i to UTF-8 encoding..."
mv $i $i.icv
iconv -f WINDOWS-1251 -t UTF-8 $i.icv > $i
rm -f $i.icv
done


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

Комментарии
2013-10-16 в 00:22 

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

2013-10-16 в 00:23 

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

2013-10-16 в 01:13 

Сигурд Лис
Get lucky
Скептичный циник, Спасибо, сейчас попробую...

2013-10-16 в 01:14 

Сигурд Лис
Get lucky
CD_Eater, вам тоже, попробую и как вы сказали

2013-10-16 в 07:57 

CD_Eater
в опе ещё играет детство, а жить уже надо по-взрослому
Сигурд Лис, не, не пробуйте. Вариант Сценичного киптика проще. ))

2013-10-23 в 16:30 

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

2013-10-23 в 17:01 

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

Комментирование для вас недоступно.
Для того, чтобы получить возможность комментировать, авторизуйтесь:
 
РегистрацияЗабыли пароль?

ru_programming

главная