GetXMLプラグインの文字化け解消
11/8/2005, 1:47:00 AM
RSSをサイドに表示できるプラグインはないもんかと思ってたら、GetXMLってのを見つけた。RSSに限らずXMLを表示できるってので早速導入。Last.fmのXMLを表示するようにテンプレートを書いてrebuildすると、どういうわけだかGetXMLプラグインが表示する部分は日本語が出てるのに、他の部分(本文など)の日本語は全部文字化けした。何じゃこりゃ?
と、化けた文字を見てるうちに思い出したのがAWSで文字化けしたこのときの記憶。これですよたぶんそうですよ。で、「Perl の Unicode フラグ」って何さってググったらずばり「Perl 5.8.x Unicode関連」ってページ発見。ふむふむ。
- 今までUTF-8の日本語が問題なく表示されていた。
- GetXMLで何かが悪いに違いない。
- GetXMLは特に文字をいじってないからXML::Simpleが悪いに違いない。
- UTF-8フラグってやつは悪いヤツらしい。
- XML::Simpleを通ると、文字列にフラグが付いてしまうのかもね。
- じゃあ返された文字列のフラグを外してしまえばいいのでは。
- 外すには『utf8::encode($alpha); # UTF8フラグを落す(Encode::encode_utf8 と同じだが、引数を変化させる)』って書いてあるぞ。
- GetXMLのget_valueにパッチ当てちゃえ。
203a204 > utf8::encode($text);
- Save and Rebuild。
- おー日本語出た。
勘でも何とかなるもんですね。<オチなしw