[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: iconv сваливается при больших входных данных



On 8/30/05, Victor Wagner <vitus@45.free.net> wrote:
> On 2005.08.30 at 11:44:17 +0400, Mihail A Antonov wrote:
> 
> > Hello debian-russian.
> >
> > Никто не замечал такой странности что iconv сваливается при больших
> > входных данных? (3-5Мб, больше не пробовал.)
> > cat bigfile | iconv -f cp1251 -t koi8-r | less
> > вижу только кусок файла.
> 
> -c попробуй ему сказать. Дело в том, что iconv(1) не предназначен для
> перекодировки между кодировками, у которых не все символы совпадают.
> В cp1251 есть около 40 символов, у которых нет эквивалента в koi8-r
> (кавычки ёлочки, длинное тире etc). Соответственно, iconv по умолчанию
> отваливается на первом же символе, который не может однозначно
> перекодировать.
> 
> С -c он просто выкинет все левые символы.

Можно ещё добавить "//TRANSLIT" к target.
В данном случае будет "cat bigfile | iconv -f cp1251 -t
koi8-r//TRANSLIT | less".
В koi8 получишь "<" и ">" вместо ёлочек из 1251, например.
Но это не для всех кодировок работает, кажется. А может, стоять что-то
должно сверху iconv, но у нас на Debian 3.0 работает без всяких танцев
- совсем недавно (с год назад) новую систему ставили.

______________________________________________________________________
Andrew Ivanov | andrew.ivanov@gmail.com

Reply to: