# iconv: illegal input sequence

## jodaka

пытаюсь сконвертировать файл из кодировки cp1251 в koi8-r командой 

```
iconv -f cp1251 -t koi8-r filename.pl
```

 но получаю ошибку: iconv: illegal input sequence at position 4022 (в разных файлах такая ошибка в разных местах возникает). Эти же файлы без проблем ковертируются в utf8.

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

----------

## `VL

такая фигня возникает из-за того,что в той кодировке, куда ты кодируешь нет соответствующих символов как в исходной. Например какие-нибудь кавычки-ёлочки и т.п.

Какие у тебя варианты:

1) попробуй iconv -c или recode( там тоже что-то было)

2) если файлов немного и тебе не нужно оставлять форматирование - lynx спасает

3) искать какие-то утилиты для перекодировки или писать свою...

кстати - кто-нибудь знает, если ли под linux перекодировщик типа 'штирлица' виндового? чтобы мог 'творчески' перекодировать и умел сильно побитый текст расшифровывать?

----------

## jodaka

О, спасибо. У меня к сожалению не хватило мозгов/терпения прочитать ман к iconv :-/

установил recode -> он без всяких ошибок перекодировал те файлы, на которых iconv без опции -c обламывался

----------

## icedank

http://gaim-reco.sf.net/rucode.tar.bz2

Писалось для какой-то определённой задачи (и оно таки недоделанное, но windows1251 и cp866 в koi8-r перекодит с автодетектом (после небольшой правки исходников мона сделать в любом направлени, но мне было лень)).

----------

## icedank

Вспомнил зачем писал  :Smile:  Не нашёл ни одной тулзы которая правит <skipped> кавычки из windows1251 (или плохо маны читал).

----------

## mivlad

Вообще-то это кавычки из Latin1. И вроде бы из UTF.

----------

