Конвертация содержимого файлов из windows-1251 в utf8
Как конвертировать текст или файлы, преобразовать кодировку таблиц MySQL из windows-1251 в UTF8 ( UTF-8 ).
Кодировка UTF8 давно стала стандартом и переход с Windows-1251 на UTF-8 - это вопрос времени. Кроме того, UTF-8 является кодировкой по умолчанию в Linux, так что это еще один довод в пользу бессмысленности 1251 yf xNIX системах.
Многие столкнулись при переходе с ОС Windows на Linux с несоответствием кодировок. Базовая кодировка Linux – UTF8, Windows – Windows1251 (CP1251 для баз данных).
Первое, с чем сталкиваются при переходе - необходимость конвертировать содержимое php файлов из windows-1251 (cp1251) в UTF-8.
Основной утилитой перекодировки в нашем случае будет iconv. При помощи iconv запросто можно перекодировать один файл:
iconv -f WINDOWS-1251 -t UTF-8 src_filename > dst_filename
Потыкался и нашел кусок скрипта и доработал его.
#!/bin/bash
FILES=./*.php
for i in $FILES
do
echo \"Converting $i from WINDOWS-1251 to UTF-8 encoding…\"
mv $i $i.icv
iconv -f WINDOWS-1251 -t UTF-8 $i.icv > $i
rm -f $i.icv
done
Для выполнения скрипта не забудьте назначить права и можно положить в системную папку, чтобы можно было выполнить в любой папке. Будьте внимательны, перезаписывая файлы!
После конвертирования файлов проекта, если проект пользуется базой MySQL, нужно сконвертировать и содержимое таблиц.
ALTER TABLE mytable CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

