- ベストアンサー
★Movable Type3.2の文字化けについて★
こんにちは。初心者レベルなので非常に困っています。どなた様かお詳しい方なんとか助けていただけませんでしょうか? 当方Movable Typeの3.2バージョンをmaid4u(http://www.maid4u.jp/)というレンタルサーバーにて運用しています。 作成したMTのサイトが文字コード 「Unicode(UTF-8)」でないと正しく表示されず、 「日本語(自動選択)」 にするとトップページが背景以外表示されない、他ページに関しては全て文字化けしてしまうという悲惨な状態になってしまいます。 インターネットエクスプローラーのメニュー「表示」⇒「エンコード」にてご確認いただけます。 この状態を解決するにはどうすればいいのでしょうか? テンプレート内のタグを変換すればいいのでしょうか? 何かプラグインをインストールすればよいのでしょうか? あまり詳しくないものでして非常に困っています。 どうぞよろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
himajin3500さんが答えられているようにこれはインターネットエクスプローラーの仕様です。 OSがShift_JISのため、手動で「日本語(自動選択)」にすると一時的にShift_JISとして読むためおきる現象です。アクセスして開く場合はUTF-8が選択されます。 Mozilla Firefoxではこの現象は起こりません文字化けするだけです。 この現象はローカルで再現できます。 UTF-8で使用する限りおきる問題だと思います。 根本的に解決するには Movable Typeの3.2の文字コードをShift_JISにする 手順は mt-config.cgi内の記述を PublishCharset utf-8 ↓ PublishCharset shift_jis に書き換えることで変換できます。 ただしサイトすべて文字化けするためサイトのバックアップして文字コード変換する必要があります。 また日本語以外の言語を使うばあいはutf-8のほうが 都合がいいです この現象がどうしても気になってサイトを作り直す覚悟がある場合以外はお勧めしません。 それよりスタイルシートの記述が不足のためレイアウトおよび文字のサイズがくずれているほうがきになります。 文字コードの問題はMovable Typeの標準utf-8 windowsの標準shift_jis この違いのためどうしても起きます。 私もこの問題で多くのサイトを作り直し無駄な時間を使いました。 この経験が参考になれば幸いです。
その他の回答 (3)
- orange001
- ベストアンサー率32% (83/253)
No.2です。 >IEではどんな結果でしたでしょうか? 申し訳ありません。IEはWindows Updateにしか使っておらず、 普段は全てFirefoxで閲覧しております。 Firefoxできちんと表示されるならOKだと考えておりますので。 参考にならず、ごめんなさい。 それと、こちらは余計なことかもしれませんが、 Firefoxで見ると、右カラムがかなり下がった位置で表示されています。 一番下にあるエントリーが終わったあたりに、右カラムのトップが来ています。 IE以外のブラウザで確認されることをオススメします。
- orange001
- ベストアンサー率32% (83/253)
見当外れの意見かもしれませんが、METAタグで文字コードを指定する前に、 descriptionやkeywordsで日本語を記述していることが影響していませんか? <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> この行を<HEAD>のすぐ下に入れ替えてみるとか。 Firefoxでは、何もしなくてもUTF-8で表示されました。
お礼
再度ご回答ありがとうございました^^ 当方より自身の利用しているサーバー管理者様側に問い合わせてみたところ、IEの表示>エンコード>自動選択 の設定にて問題なく表示されるとのご回答をいただきました。 IEのブラウザの設定を「日本語自動選択」または他の文字コードに設定固定している場合にのみ起こる現象とのことで、Googleでもこの設定にしていると同じ現象が起こるようです。 このたびはお騒がせしてすみませんでした^^
補足
orange001様>ご回答ありがとうございます。 指摘していただいたとおり先にdescriptionやkeywordsの記述がありましたのでとりあえず順番を入れ替えてみましたがいかがなものでしょう。 ただMTの文字コードのタグですがデフォルトで <meta http-equiv="Content-Type" content="text/html; charset=<$MTPublishCharset$>" /> と記述されており「$MTPublishCharset$」の部分は設定ファイルを書き換えないとだめなのかもしれません・・・。 >Firefoxでは、何もしなくてもUTF-8で表示されました。 とありますが、IEではどんな結果でしたでしょうか? もしよろしければ教えていただけませんでしょうか?やはりまっさらなページでしたか? よろしくお願いします。
Movable Type未経験者なので使い方は述べられませんが・・・ 原因はIE6が自動判別でこのサイトの文字コードをShift_JISと判断することにあります。(meta要素にContent-Typeでutf-8を指定しているのに起こる件は俺は良く解らん) 試しにこのサイトのXHTMLをローカルにダウンロードして手元のテキストエディタで読み込ませたらShift_JISと判断されて文字化けしていたため、BOM(ByteOrderMark)付きのUTF-8で保存したらIEにUTF-8だと思ってもらえたようです。
お礼
>cjrotor様 ご経験を踏まえた貴重なご回答ありがとうございました^^ 詳しい回答内容、とても勉強になりました! 当方より自身の利用しているサーバー管理者様側に問い合わせてみたところ、IEの表示>エンコード>自動選択 の設定にて問題なく表示されるとのご回答をいただきました。 IEのブラウザの設定を「日本語自動選択」または他の文字コードに設定固定している場合にのみ起こる現象とのことで、Googleでもこの設定にしていると同じ現象が起こるようです。 一応、このまま静観しようと考えています。 どうもありがとうございました!