2010-12-14 22 views
2

ここで少し混乱しています。perlのエンティティについて混乱しています.pm

utf8でエンコードされたiPhoneアプリのフィードを作成しようとしています。

スペイン語のコンテンツには多くのラテン文字(アキュートなど)があります。 Entities.pmライブラリのdecode_entities関数を使用しますが、変換するchar値がフィードを壊していることに気付いています。つまり、CDATAタグが周囲にあるにもかかわらず、フィードが有効ではないということです。タイトルフィールド。さらに調査すると、このlibがhtmlエンティティから対応するUnicode値に変換されていますが、utf8ではなくISO-8859が使用されていることがわかりました。

HTMLエンティティからutf8に変換するにはどうすればよいですか?

答えて

1

この問題は、Entities.pmではなく、ファイルを開くために使用していた形式であることが判明しました。私は、PerlがUtf-8でファイルを自動的に開くことを当然のこととして考えました。

私は、ファイルの先頭に以下の行を追加し、フィードは現在有効であると考えられる:

が開い使用「:エンコーディング(UTF8)」;

4

($ xを直接印刷すると「ワイド文字が印刷されます」という警告が表示されます)。

関連する問題