Раздел форума:
Как изменить кодировку документа внутри Perl скрипта???
У меня проблема следующего рода:
если вы заглянете на http://www.kyrgyzstan.kg/news/ то там все ясно видно.
Ну а если в двух словах:
как можно изменить кодировку документа считываемого с сервера на www.lenta.ru в кодировке koi8-r и выдать в кодировке windows-1251 на своем сайте
С уважением, В.Н.
вставь в свой скрипт следующие функции и замени в теле скрипта функцию print на blockout. Регулируй кодировку переменной окружения $code
sub blockout
{ local ($prstr)=@_;
if ($code eq "lat") { $xstr=&Transform($prstr); } else {$xstr=$prstr;}
print $xstr;
}
sub Transform()
{ ($str)=@_;
$source="йцукенгшщзхъфывапролджэячсмитьбю ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ";
local @latstr=split(/\./,"j.c.u.k.e.n.g.sh.w.z.x.~.f.y.v.a.p.r.o.l.d.zh.e'.ya.ch.s.m.i.t.'.b.yu. J.C.U.K.E.N.G.Sh.W.Z.X.~.F.Y.V.A.P.R.O.L.D.Zh.E'.Ya.Ch.S.M.I.T.'.B.Yu");
local @koistr=split(/\./,"К.Г.Х.Л.Е.О.З.Ы.Э.Ъ.И.Я.Ж.Щ.Ч.Б.Р.Т.П.М.Д.Ц.Ь.С.Ю. У.Н.Й.Ф.Ш.В.А.к.г.х.л.е.о.з.ы.э.ъ.и.я.ж.щ.ч.б.р.т.п.м.д.ц.ь.с.ю.у.н.й.ф.ш.в.а");
local @isostr=split(/\./,"Щ.ж.г.Ъ.Х.Э.У.и.й.Ч.е.к.д.л.Т.Р.Я.а.Ю.Ы.Ф.Ц.н.п.з.б. Ь.Ш.в.м.С.о.№.Ж.Г.є.µ.Ѕ.і.И.Й.·.Е.К.Д.Л.І.\°.ї.А.ѕ.».ґ.¶.Н.П.З.Б.ј.ё.В.М.±.О");
local @altstr=split(/\./,"©.ж.г.Є.Ґ..Ј.и.й.§.е.к.д.л.\ў.a.Ї.а.®.«.¤.¦.н.п.з.б.¬.Ё. в.м.Ў.о.‰.–.“.Љ.….Ќ.ѓ.
$str=~tr/бвчздецъйклмнопртуфхжигюыэящшьас БВЧЗДЕЦЪЙКЛМНОПРТУФХЖИГЮЫЭЯЩШЬАС/А-я/;
вопрос уже решен с помощью библиотеки
Библиотека полезных функций для Perl. PVD
с сайта http://dpserver.virtualave.net/free.html