文字化けとの戦い

  • 02 / 21
  • 2007

このブログのコメント投稿フォームがMac OS9.xにおいて文字化けが発生してます。バージョンアップするまでWordPress ME (Multilingual Edition)を使用していたため、テーマもME用デフォルトのEasyALLをカスタマイズしていました。よって、テーマファイル内のソースを細かく分析したりしなかったので、全く文字コードの構造もあまり理解してないままだったんです。でも、文字化け報告のおかげで、今回いろいろググって調べて、文字コードの構造が少しはっきりしてきました。

WordPressによるブログ立ち上げ以来、ずっとWordPress ME(多言語版)使用で文字コード設定はEUC-JPです。WordPress本家(英語版)の最新バージョン2.1を日本語環境にするために、StandingTallさんのところで言語ファイルを頂いて、インスールしたはいのですが、この言語ファイルの文字コードがUTF-8だったため文字化け発生。で、設定を全てUTF-8にしなおすと、これまた過去記事本文が全て文字化けしてしまいます。とうことで、言語ファイルはバージョンアップ以前のME用の言語ファイルに入れ換えて、wp-config.php内にて再びdefine ('WPLANG', 'ja_EUC');に編集し直しました。ここまでは良かったのですが、今度はコメント投稿フォームが、やはりMac OS9.x上では文字化けするとの報告。そこで、出発点を見直すことにしました。

出発点とは、テーマそのものです。バージョンアップ以来使用していたテーマblixKriegのソースを眺めて、発見したのがなんと基本的なmeta文字誓言が英語になっているということ。それを日本語に誓言しなおしたいけど面倒くさいので、既にdefaultテーマではそれがphpで自動誓言するようになっているので、テーマをdefaultに変更しました。そして、イマイチまだxhml文書仕様を理解してないので意味あるのか分らないのですが、念のためにxml:lang="ja"もheader.phpファイル内の二行目に追記してみました。

と、やってみた対策をダラダラ書きましたが、果たして効果はあるのか不明です。でも、マメに文字化けを報告してくれてる読者さんのおかげで、文字化けと文字コードの関係を勉強できる機会を頂きました。あとは、この対策に効果があるか…に懸かってますが…。

もうこれでもダメなら、DBいじって一気に文字コードをUTF-8化するしかないでしょう…。その方がゆくゆくいろいろな面で無難かもしれません。

【追記】
どうやら、RSSフィードが今度は文字化けのようです(涙)
【また追記】
xml:lang="ja"を削除したら直りました。余計なものだったんですね。やっぱり、ちゃんとW3Cの仕様をちゃんと読むべきでした(汗)
あと、テーマもblixKriegに戻しました。

466 Views

4 Comments are posted.

  1. shiratori

    xannnennnagara,mada,damedesu.

    jibunnno,pasokonnga,waruinoka?

  2. endunham

    shiratoriさん、そうですか。ダメでしたか…。
    今丁度また弄ってたんですがね。見てのとおり記事の追記をしてたり、コードをちょっとだけ弄ったり。
    前回バージョンアップ前は、shiratoriさんのコメントが全然大丈夫だったので、ホントに困りました。あとは、最後の手段をやってみますね。すぐには出来ないので、また実行後にブログ上でお知らせしていきたいと思います。ホントに文字化け対策に協力してくれてありがとうございます!!

  3. tai

    拙ブログにコメントいただきながらお返事が遅くなってしまい、すみません。。。
    せっかくなんでこちらにコメントします。。。

    お書きになっている通り本家用日本語リソースをこちらで使用するにはDBの文字コードを変換する必要があります。
    今後のことを考えるとUTF-8の方がいいとは思いますが、変換がうまく行くかどうかのリスクを考えると正直言って強くはお勧めできません。もし変換するのならオリジナルはそのままでコピーをまず変換して様子を見たほうがいいでしょう。

    Mac OS9.x上では文字化けするとのことですが、これはブラウザの文字エンコーディングの設定に問題があるような気もしますが、、そもそもOS9は随分古いですからねえ、正直言ってわかりません。

    あんまりお役に立てなくて申し訳ないです。ME版2.1ももうすぐ出るそうなんでそれを入れてみてもいいかもしれません。

  4. endunham

    >Taiさん
    いえいえ、こちらこそちょっと図々しい事訊いちゃったかな〜って反省していましたので、こうやってアドバイス頂いて嬉しいです。ホントにありがとうございます!次回は、MEのフォーラムに参加して訊いてみますね。

    それにしても、やっぱりDB文字コード変換は、やっぱりリスクが大きいですか。うーん、ブログ立ち上げ時にUTF-8にしておけば良かったな〜と後悔。そうですね、おっしゃる通りテスト用にコピーでやってみます。

    OS9.x上の文字化けは、自分もOS9.xを持っていれば、いろいろ研究できるんですが…なかなか難しいですね。OS9ユーザーには酷ですが、やはりME版2.1のりリーズを待った方が得策かもしれませんね。
    Taiさんのアドバイス聞いて、自分の策も悪くなかったんだなと安心しました。ありがとうございますね!

Any comment?




XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>