Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: Общие вопросы > Кодировка слов после XML::Simple


Автор: AlexanderI 30.5.2014, 14:30
Здравствуйте.

После разбора файла XML через XML::Simple все русские символы превращаются вот в такую последовательность:
\x{420}\x{43e}\x{43b}\x{44c} (это слово "Роль"). Причём если вывести через print, то оно выводится нормально.

Но если я делаю сравнение то получается что они разные

Код

my $ref = XMLin($xml,KeyAttr=>['date'],ForceArray => ['name']);
$test = $ref->{'Body'}; #\x{420}\x{43e}\x{43b}\x{44c}
if ($test eq 'Роль'){
print "Одинаковые";
}else{
print "Разные";
}


Как правильно сравнить эти слова ?

Автор: arto 30.5.2014, 15:35
use utf8 ?

Автор: noize 30.5.2014, 23:27
для разбора XML рекомендую использовать XML::Fast

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)