Читайте арабские буквы в HTML в CSV, используя Perl - PullRequest
0 голосов
/ 05 октября 2011

Я работаю с HTML, на котором есть арабские буквы.Я пытаюсь разобрать надписи в CSV-файл, который открывается по умолчанию в Excel.

Я использую Perl-скрипт для разбора надписи, как я думал, используя

use feature 'unicode_strings';

в Perl это позволит CSV хранить арабские буквы, но это не так.

Есть ли способ обойти это?

Ответы [ 2 ]

1 голос
/ 08 октября 2011
use autodie qw(:all);
use Web::Query qw(wq);
use Text::CSV_XS qw();

my $csv = Text::CSV_XS->new({binary => 1})
    or die "Cannot use CSV: ".Text::CSV_XS->error_diag;
open my $fh, '>:encoding(UTF-8)', 'm.csv';
$csv->print($fh, [wq(
    '<!DOCTYPE html>
    <html><head><title></title></head><body>&#x645;&#x643;&#x629; &#x623;&#x648;
    &#x645;&#x643;&#x629; &#x627;&#x644;&#x645;&#x643;&#x631;&#x645;&#x629;
    &#x647;&#x64a; &#x645;&#x62f;&#x64a;&#x646;&#x629;
    &#x645;&#x642;&#x62f;&#x633;&#x629; &#x644;&#x62f;&#x649;
    &#x627;&#x644;&#x645;&#x633;&#x644;&#x645;&#x64a;&#x646;&#x60c;
    &#x628;&#x647;&#x627; &#x627;&#x644;&#x645;&#x633;&#x62c;&#x62f;
    &#x627;&#x644;&#x62d;&#x631;&#x627;&#x645;&#x60c;
    &#x648;&#x627;&#x644;&#x643;&#x639;&#x628;&#x629; &#x627;&#x644;&#x62a;&#x64a;
    &#x62a;&#x639;&#x62f; &#x642;&#x628;&#x644;&#x629;
    &#x627;&#x644;&#x645;&#x633;&#x644;&#x645;&#x64a;&#x646; &#x641;&#x64a;
    &#x635;&#x644;&#x627;&#x62a;&#x647;&#x645;.</body></html>'
)->find('body')->text]);
close $fh;
1 голос
/ 05 октября 2011

Попробуйте использовать Encode :: Arabic ; посмотрим, поможет ли это при разборе.

...