Многие столкнулись при переходе с ОС Windows на Linux с несоответствием кодировок. Базовая кодировка Linux - UTF8, Windows - Windows1251 (CP1251 для баз данных).
В общем столкнувшись с этим начал читать чем же и как конвертировать содержимое всех своих php файлов из windows-1251 (cp1251) в UTF-8.
Начал с ICONV ман. дал знать что достаточно выполнить создается новый файл с указанным именем в нужной кодировке, но каждый файл скажем большого сайта руками так не переведешь.
Потыкался и нашел кусок скрипта и доработал его.
#!/bin/bash
FILES="./*.php"
for i in $FILES
do
echo "Converting file $i to UTF-8 encoding..."
mv $i $i.icv
iconv -f WINDOWS-1251 -t UTF-8 $i.icv > $i
rm -f $i.icv
done
Для выполнения скрипта не забудьте назначить права и можно положить в системную папку, чтобы можно было выполнить в любой папке.
Конвертирует быстро.
PS. После конвертирования файлов проекта, если проект пользуется базой MySQL нужно сконвертить и содержимое таблиц.
я сделал со всеми таблицами так.
Понятно что это можно сделать с опять-таки скриптом, но не было времени. Попробую разобраться и напишу.
Aвтор: alex-saratov
►
10 июня 2009
►
Комментарии (0)
►
просмотров: 1124
Ключевые теги: Linux, UTF8, ICONV |