2010-12-14 2 views
2

Хорошо, я немного смущен.Смущенно об объектах Perl.pm

Я пытаюсь создать канал для приложения iPhone, закодированного в utf8.

Есть много латинских символов (accute и т. Д.) Для нашего испанского контента. Я использую функцию decode_entities из Entities.pm lib, но я замечаю, что значения char, которые он преобразует, разбивают мой канал - я имею в виду, что фид недействителен, хотя есть теги CDATA вокруг название поля. При дальнейшем исследовании я обнаружил, что эта библиотека преобразуется из html-объекта в соответствующее значение unicode, но использует ISO-8859 вместо utf8.

Как преобразовать из html-объекта в utf8?

ответ

1

Так получилось, что проблема была не в Entities.pm, а в формате, который я использовал для открытия файла. Я понял, что Perl автоматически откроет файл в Utf-8.

Я добавил строку ниже в верхней части моего файла, и подача в настоящее время считается действительным:

использование открытым «: кодирование (utf8)»;

4
use Encode; 
use HTML::Entities; 

my $x = decode_utf8(decode_entities("α — ω")); 

binmode STDOUT, ":utf8"; 
print $x; 

(Вы получите предупреждение «широкие символы в печати», если вы напечатаете $ x в открытом виде).

Смежные вопросы