ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

Macを教える・教わるコミュの【アプリ】管理している掲示板が、Safariで文字化けする

  • mixiチェック
  • このエントリーをはてなブックマークに追加
最近、Macでネットラジオを始め、それにあたって掲示板を開設しました。
livedoorのしたらば掲示板で、以下のURLになります。
http://jbbs.livedoor.jp/school/16634/

さて、開設当初は問題なく閲覧できていたこの掲示板ですが、本日(12月15日)より、Safariで閲覧すると文字化けが起こるようになってしまいました。
文字コードを「EUC」に指定することで文字化けは一応回避できますが、デフォルトの状態では毎回文字が化けます。
ソースを表示すると、三行目にきちんと
<meta http-equiv="content-type" content="text/html; charset=euc-jp">
と書かれているので、デフォルトでEUCになるはずなのですが、なぜかShift JISでエンコードされているようです。

私のSafari固有の問題かと思い、Macユーザの友人に確認してもらったところ、やはりSafariでは文字化けするとのことでした。
FireFox、Mac版IEでは、問題なく表示ができました。

ちなみに、同じ「livedoorしたらば」を利用した他の掲示板では、こういった問題は起きていません。
思い当たる節と言えば、掲示板のスキンを変更したことくらいですが、元の設定にリセットしてもやはり文字化けが直りません。

Safariは文字化けの起こりやすいブラウザと聞いたことがありますが、<meta>タグでテキストのエンコード形式を指定しても、文字化けが起こるものなのでしょうか?
起こるとしたら、その解決策はどういったものがあるのでしょう。
自力で調べてみましたが、解決に至ることが出来なかったので、この方面に明るい方に教えを乞いたく思います。

以下、私の環境です。
・機種:MacBook Pro
・OS:Mac OS X 10.5.1
・CPU:1.83 GHz Intel Core Duo
・メモリ:1GB 667MHz RAM
・HDD:80GB
・Safari:3.0.4

また、皆さまの環境で文字化けが起こるか・起こらないかも、よろしければ教えて頂けると大変助かります。

コメント(12)

 たぶん、全然Macの問題じゃないですけどね、、、(-_-;) 厳密にはコミュ違いです。

 そのCGIは向こうが用意したものを特にソースは触らずに使っているのでしょうか?
 文字化けの発生の為方から、HTMLヘッダーはEUC-JPと宣言しているにも関わらず実際に吐き出されている「ソースのHTTPヘッダーがShift JISを宣言している」か「Shift JISでソースが吐き出されている」かのどっちかだろうと思います。 たぶん、前者。
 ですので以下を調べるべき(調べれるなら)だと思います。

1:CGIスクリプトが記述されているファイルの文字コード。

2:CGIスクリプトがHTMLのヘッダー通りのEUC-JPでソースを吐くよう設定されているか。


 HTTPヘッダーは通常一般ユーザが触れないので、サーバー側の仕様に合わせる必要があります。 もし、ご利用のサーバーが「Shift JISのHTTPヘッダーを付してソースを吐き出す仕様」になっているならCGIスクリプトもShift JISで処理するようにしないといけません。
>1:白い月の鏡さん
早速の回答、ありがとうございます。
>全然Macの問題じゃない
おっしゃる通りなのですが、一応「Safariでの不具合」ということで、Macのアプリとして質問させてもらいました。すみません。

CGIに関しては、基本的にいじっていません。
どうやら「HTMLヘッダーはEUC-JPと宣言しているにも関わらず実際に吐き出されている『ソースのHTTPヘッダーがShift JISを宣言している』」のようです。
言われて、ようやくその可能性に気づけました。
でも、それだとどうしてSafari以外だとちゃんと表示できるのかな……。

とりあえず、1、2の項目について調べてみることに(調べられたら)します。
ありがとうございました!
早速ですが、残念ながらCGIを見ることは(やはり)出来ないようです。
実際に吐き出されているソースのヘッダは、トピの最初の方に書いた通り、EUC-JPで宣言されています。
そして、本文の日本語部分もEUC-JPでエンコーディングされています。

同じサーバーを利用した他の掲示板では、こういった不具合は発生しません。
ソースを参照すると、ヘッダでEUC-JPを指定、本文のエンコードもEUC-JP、です。

なぜ、自分の掲示板だけこの問題が起こるのか、そしてSafariだけでこの問題が起こるのはどうしてなのか、依然解決が出来ません。



「HTMLヘッダーはEUC-JPと宣言しているにも関わらず実際に吐き出されている『ソースのHTTPヘッダーがShift JISを宣言している』」
について、もう少し調べてみます。
>>3 うらQ さん
> Safariだけでこの問題が起こるのはどうしてなのか、依然解決が出来ません。

 SafariはW3Cの仕様にかなりStrictなブラウザーだからで、HTML内で宣言されているテキスト・エンコーディングに素直にソースを解釈しようと動作します。
 他の多くのブラウザーは、HTML内で宣言されているテキスト・エンコーディングが正しくないかも知れないと疑ってテキスト内の文字コードを解析して判別できる限り判別しようと動作するので、こういう宣言と実際に吐き出されているテキスト・エンコーディングの不整合がおかしい場合も或程度文字化けせずに表示されるのです(反対にSafariは正直なので文字化けるのです)。

 だから反対に、Safariでだけ文字化けるケースは、件のようなサーバー側に何らかの不適切が在るケースだと判断できるのです。
>4 白い月の鏡さん
>SafariはW3Cの仕様にかなりStrictなブラウザーだからで、HTML内で宣言されているテキスト・エンコーディングに素直にソースを解釈しようと動作します。



これは今まで知りませんでした。
おかげ様で、疑問が一つ氷解しました。ありがとうございます。

同時に、今回の問題がMacとは関係ないことが、よりはっきりと理解できました。
確かにコミュ違いでした。すみません。
トピックの削除も考えてみましたが、この情報も誰かの役に立つことがあるかと思い、このまま残すことにします。
同じ掲示板システムでも、他の掲示板はSafariでも文字化けしないようなので、descriptionで使う文字あたりを工夫してみてはいかがでしょうか。「試験放送中」の前の文字が化けているのでそれを消すとか、ひらがなではじまるようにするとか。

あとカスタムヘッダが挿入できるようなので、そちらもためしてみては。
http://helpguide.livedoor.com/help/jbbs/qa/grp131
>6 ginnezさん
ありがとうございます。
実は、カスタムヘッダもすでに試してみているのですが、私の設定がまずいのか、うまくいきません。
(<head>の次の行で<meta http-equiv="content-type" content="text/html; charset=euc-jp">をコードしているのですが)


ご意見を参考に、試行錯誤してみることにします。
ありがとうございました。
先に書きましたが、descriptionのところで、文字コードをEUC-JPにしても文字化けしている文字があります。これは管理画面で「掲示板の説明」という欄で指定する最初の文字です。

descriptionのところは、このページで最初に2バイト文字が出てくる部分なので、Safariはここを見て文字コードを判定している可能性があります。ちなみに、SafariはこのページをシフトJISだと判断しているようです。

昔良く言われた「美乳」やら「京」の文字をヘッダの最初のほうに入れられればいいのでしょうが。。。(^^;A
>8 ginnezさん
>文字コードをEUC-JPにしても文字化けしている文字があります。
その文字化けってもしかして「尿沈渣渣」でしょうか?
実は、これはラジオのリスナーから募集した番組名だったりします。
もしかして、この番組名が原因……?

さて、件の「美乳」ですが、「まさか」と思って試してみたら一発で文字化けが直りました。
美乳すげえ!!!(笑)

掲示板のタイトルが美乳なのはちょっと落ち着かないものがありますが、ネタとして面白いのでこれでいきます。
すごく参考になりました。どうもありがとうございました!
>その文字化けってもしかして「尿沈渣渣」でしょうか?

いえいえ、
  美乳ラジオ「尿沈渣渣」:掲示板 : 〓試験放送中
                  ↑
                ココです。

悪ノリついでに美乳テーブルの載っているページも挙げておきます。
http://mikeneko.creator.club.ne.jp/~lab/kcode/web.html
>>9 うらQ さん
 それなら美乳の前にエスケープ記号「¥」を入れて「¥美¥乳」としてみては?
>10 ginnezさん
知人に「尿沈渣渣」というタイトルを見せたときに「?? 文字化け?」と言われたもので(^^;

そこの文字は、システムが自動で設定する部分ですね。
ユーザからはいじれないようです。
おそらく、何らかのバグかなにかでEUC-JPではない文字が入り込んでしまったのでしょう。
そして、今回の文字化けの原因もその辺りにありそうです。


>11 白い月の鏡さん
結論から言うと、「\美\乳ラジオ」になるだけで、うまくいきませんでした。
他の方法(<!-- 美乳 -->タグを挿入)でうまくいったのですが、個人的に「美乳ラジオ」というのが面白いので、このまま続けることにします。
どうもご助言ありがとうございました。

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

Macを教える・教わる 更新情報

Macを教える・教わるのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。

人気コミュニティランキング