• 締切済み

UTF-8 フラグ?で文字化けしました助けてください

http://rev.go2.jp/MTAmazon.txt http://www.majordojo.com/projects/MTAmazon/downloads/ これなんですが 結論から言えば文字化けしてしまい困っています。 Movable Typeのplug-inなのですが構築すると上記のplug-inで出力した文字列のみが文字化けしないでその他の日本語文字列のみが化けます。 また、上記のplug-inで英数字のみの出力とした場合は正常に動作します。(文字化けしません) そして、設置するサーバーによって文字化けしなかったり、したりしています。Perlのバージョンの違うサーバーです。 どうやらPerlのせいと言うところまでは突き止めました。 そして、Perlの文字化け関連を漁っているとUTF-8フラグの存在が明らかになりました。 しかし、改造と言っても私に出来るのはコピペぐらいなので適当に先頭にuse utf8;とかplug-inのファイルをutf8エンドコードしてアップしてみたりuse encoding 'utf8';とか書いてみて全部文字化けしちゃったりして・・ でも手応えとしてはUTF-8フラグが問題なのかなという思いは強くしました。use encoding 'utf8';を追加する以外の改造は出力に変化はありませんでした。 # Perl のバージョン: 5.8.3 # Perl のバージョン: 5.8.7 サーバーは上記のPerlのバージョンで正常に動かしたいのです。 http://rev.go2.jp/は5.8.7の方のテスト環境です。出力した文字列以外が文字化けしている様が見られます。 http://rev.go2.jp/MTAmazon.txtはMTAmazon.plだけおいてみました。 よろしくお願いします

みんなの回答

  • to_kyo
  • ベストアンサー率41% (7/17)
回答No.2

>しかし、改造と言っても私に出来るのはコピペぐらいなので ・・・同じくらいのレベルのわたしですが、 こういうときは エンコード・デコード関連をひととおり試してます。 ----------------- use Encode; Encode::from_to($str, "utf8", "shiftjis"); $str = Encode::decode("utf8" ,$str); $str = Encode::encode("utf8" ,$str); ----------------- あとは、Jcodeのgetcode使って、文字化けする文字と、文字化けしない文字の文字コードを確認するとか。 utf8::encode($str); っていう一文を、出力する直前にいれてみるとか。

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

>出力した文字列のみが文字化けしないでその他の日本語文字列のみが化けます。 使用している文字コードの不整合(例えば、片方はUTF8で片方はEUCというような)ではないかなあ

関連するQ&A