[Perl] XML::Simpleの日本語で嵌る

メモ。

XML::SimpleのXMLinというものを使っているのですけれど、
なんか一部環境で、面倒なことに遭遇しました。

どういう事かというと、XMLファイルを直接読み込ませたんですが、そこで、「サ」の時が文字化けしたんですね。
「サ」の文字は、UTF-8だと"E3 82 B5"になるんですが、XMLinを食わせて、as_stringしたら、"C3 A3 C2 82 B5"になっちゃったようなんですよ。

これはどうやら、XMLinの中で、utf8::upgradeでUTF-8フラグとたてて、こちらで出力するときに、encode_utf8で出したからっぽい。
いやはや、さてこれはどうしたもんかな、と思う。
この時だけ、utf8::downgradeをやる必要があるんですが、うーむ。んな特殊処理入れたくねえなあ。

XML::SimpleはSAXでしたっけ?そちらの動きも確認しないとだめなのか。。
問題は一部環境って所でございまして、どこが環境依存なのか、まったく不明な所でありますが、そーゆーこともありました、というメモです。

ブログ気持玉

クリックして気持ちを伝えよう!

ログインしてクリックすれば、自分のブログへのリンクが付きます。

→ログインへ

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい

気持玉数 : 0

この記事へのコメント

この記事へのトラックバック