普段、MovableTypeのプラグインでお世話になっている「小粋空間」さんが、意外なところで躓いていた。
以上です。色々調べてこれが最適解と思ったのですが、より適切な解決方法がありましたらコメントください。
XML::Simpleで取得したデータが引き起こす文字化けの対処方法: 小粋空間
「より適切」かどうかは分かりませんが、よりモダンな感じの解決方法を考えてみます。
考え方としては、XML::SimpleのXMLinが内部文字列を返すのであれば、スクリプトを内部文字列化してやれば解決するのでは、という感じです。
まずは、スクリプトを「use utf8;」してしまいます。
そうすると、スクリプトに書かれている文字はPerlの内部空間と同じ状態(内部文字列)になります。
で、このまま出力すると「Wide Character」の問題が出ますので、出力時にはutf8でエンコードしてやります。
それを踏まえて書きなおすと以下のようになります。
|
|
これで文字化けはしません。