Iconv

Iconv

Что такое iconv – утилита в nix системах для конвертации текста в различные кодировки, набор поддерживаемых кодировок зависит от вашей реализации ОС. Одноименные функции есть в php, perl, С в своей работе они используют эту системную утилиту(библиотеку)

Для чего iconv

Частое использование при наличие SQL дампа необходимо пере конвертировать всю выгруженную базу в другую кодировку для загрузки ее в новую базу на другом сервере при не совпадение дефолтных кодировок, также частая задача пере конвертировать кучу текстовых файлов в другую кодировку например, восстановленный сайт и веб архив.

Как определить текущую кодировку ?

Можно скопировать вашу кракозяблю и воспользоваться декодером Лебедева http://www.artlebedev.ru/tools/decoder/, при удачном результате внизу он напишет, то в какой кодировке ваш текс т пример: koi8-r –> utf-8

Решения с помощью iconv

Если декодер Лебедева вам написал что он сделал koi8-r –> utf-8 то вам чтобы повторить подвиг Лебедева в iconv нужно сделать ровно наоборот utf-8 в koi8-r

Пример:
iconv -c -f utf-8 -t koi8-r < file.htm > file.htm
Параметр « –c» используется для исключение ошибки спотыкания о не перекодируемый символ: «iconv: illegal input sequence at position»
Если стоит задача перекодировать все файлы в текущем каталоге:
find . * | for file in *; do cat $file | iconv -cs -f utf8 -t koi8-r > $file.tmp; mv -f $file.tmp $file; done

iconv php utf8 в koi8-r

$in = file("/tmp/myfile.txt");
$out = fopen("/tmp/myfile.txt", "w");
foreach ($in as $line) {
fputs($out, iconv("UTF-8","koi8-r", $line));}
?>

< Назад к списку новостей