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関連」ってページ発見。ふむふむ。
  1. 今までUTF-8の日本語が問題なく表示されていた。
  2. GetXMLで何かが悪いに違いない。
  3. GetXMLは特に文字をいじってないからXML::Simpleが悪いに違いない。
  4. UTF-8フラグってやつは悪いヤツらしい。
  5. XML::Simpleを通ると、文字列にフラグが付いてしまうのかもね。
  6. じゃあ返された文字列のフラグを外してしまえばいいのでは。
  7. 外すには『utf8::encode($alpha); # UTF8フラグを落す(Encode::encode_utf8 と同じだが、引数を変化させる)』って書いてあるぞ。
  8. GetXMLのget_valueにパッチ当てちゃえ。
    203a204
    > utf8::encode($text);
    
  9. Save and Rebuild。
  10. おー日本語出た。
勘でも何とかなるもんですね。<オチなしw
« standalone要素、またはXMLもいいけど仕様もねBlogAtom API Photo UploaderのLivedoor Pics対応 »