[Moscow.pm] перекодировка

Dmitry L. dim0xff на gmail.com
Ср Сен 4 22:33:37 PDT 2013


Или iconv использовать

use Text::Iconv
my $converter = Text::Iconv->new("koi8r",  "utf8");
my $interm_var = $converter->convert($translated_string);


Но вариант брать от гугла сразу в нужной кодировке предпочтительнее.

2013/9/5 Eugene Toropov <eugene.toropov на gmail.com>:
> Привет,
>
> Если взять то, что работает у них на сайте -
> http://translate.google.com/translate_a/t?client=t&sl=auto&tl=ru&hl=ru&sc=2&ie=UTF-8&oe=UTF-8&uptl=ru&alttl=en&oc=1&otf=2&ssel=0&tsel=0&q=%D1%87%D0%B8%D1%82%D0%B0%D1%82%D1%8C
> - и посмотреть параметры, то ie - это видимо input encoding, oe - output
> encoding - по идее то, что вам нужно
>
> Евгений
>
> On Sep 5, 2013, at 8:38 AM, Nikolay Mishin <mi на ya.ru> wrote:
>
> MoscowPM, добрый день,
>
> Есть скрипт
> перевода гугла из командной строки
> https://github.com/mishin/gists/blob/master/gtrans.pl
> запускается
>
> gtrans.pl --from en --to ru --text "This is a test"
>
> из командной строки
> гугл выдает строки в KOI
>
> я парсю вывод гугла:
>
>  my @matches =
>       $html =~
> m{onmouseout="this.style.backgroundColor='#fff'">(.*?)</span>}g;
>
>     foreach my $translated_string (@matches) {
>         my $interm_var =
>           Convert::Cyrillic::cstocs( 'KOI8', 'UTF8', $translated_string );
>         Encode::from_to( $interm_var, 'utf-8', 'cp1251' );
>         say $interm_var;
>     }
>
> вопрос, можно ли строку
>
>           Convert::Cyrillic::cstocs( 'KOI8', 'UTF8', $translated_string );
>         Encode::from_to( $interm_var, 'utf-8', 'cp1251' );
>
> заменить одним преобразованием, чтобы на выходе был win1251?
> у меня этого не получилось
> спасибо
>
> -
> С уважением
> Николай Мишин
>
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
>
>
>
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
>



-- 
//wbr, Dmitry L.


Подробная информация о списке рассылки Moscow-pm