PHPで出力したHTMLが携帯ブラウザだと2バイトコードが文字化けしてしまいます。

出力する内容をHTMLにするとまったく問題ないのですが、何か確認すべき(ありがちな)ミスはありませんか?

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2006/02/14 23:01:30
  • 終了:--

回答(5件)

id:ecchie No.1

ecchie回答回数63ベストアンサー獲得回数02006/02/14 23:10:13

ポイント18pt

http://www.limy.org/program/mobile/list1.html

���ӥ����Ȥκ�����

<meta http-equiv=”Content-Type” content=”text/html; charset=SHIFT_JIS”>は入ってますか?

id:P-mako

入れてますがNGです。

もちろんPCでは問題なく表示されます。

2006/02/14 23:17:06
id:pmakino No.2

まきのっぴ回答回数355ベストアンサー獲得回数282006/02/14 23:17:16

ポイント18pt

HTML の中身は Shift_JIS なのに、HTTP レスポンスヘッダで EUC-JP であると出力されてしまっているのではないでしょうか? (逆もあり得ますが)

header(”Content-type: text/html; charset=Shift_JIS”);

という具合に、レスポンスヘッダを修正してやってはどうでしょうか。

id:P-mako

ご回答ありがとうございます。

HTMLタグを出力する前にheaderするものですよね?

NG(状況変わらず)でした。

2006/02/14 23:23:39
id:ecchie No.3

ecchie回答回数63ベストアンサー獲得回数02006/02/15 00:05:24

ポイント18pt

http://www.shtml.jp/mojibake/binew.html

「美乳」で文字化けが直るって本当?

「0xFDFE」をヘッダー部分に挿入すると対策になるようですが、どうでしょうか。

http://help.yahoo.co.jp/help/jp/common/view/view-08.html

Yahoo! ヘルプ - 表示と印刷に関する

id:P-mako

解決はしませんでしたが、URLは2つとも別の意味で参考になりました。

ありがとうございました。

2006/02/15 10:16:56
id:tezcello No.4

tezcello回答回数460ベストアンサー獲得回数692006/02/15 00:10:27

ポイント18pt

http://php.s3.to/man/ref.mbstring.html

マルチバイト文字列関数(mbstring)

たしか PHP はデフォがユニコードだったような...。

Shift-JISのつもりがPHPからはUTF-8で返していて、それをIEはコードだけを見てエンコードを「勝手に」切り替える(IEはmetaタグやレスポンスヘッダを無視する)のでPCではキチンと見えるが、携帯ではそんな事はしてくれないので文字化けとなるとか。

実際にPHPが送ってくるデータのコードを確認してみては?

明示的に内部エンコード、出力エンコードを指示する必要があるかもしれませんね。

id:P-mako

試行錯誤する中で、PHPファイルに対して、nkf -s を実行したら、文字化けが解消しました。

携帯向けということで、半角カナがあったのが原因なのでしょうか?

もともと(携帯でも)文字化けしないHTMLからコピー&ペーストしたものだったのですが・・・

(viでも同じように問題なく表示されているし、ダメ元でnkfしてみたら上手く表示されたという次第です)

結果的にはショボい話でお騒がせしました。

2006/02/15 10:19:37
id:chankaz No.5

chankaz回答回数53ベストアンサー獲得回数32006/02/15 00:48:20

ポイント18pt

何か別のファイルを「include」か「require」していませんか?その別ファイルがShift_JIS以外なら文字化けします。


単一ファイルということでしたら、1行目に以下の記述を加えてみるとどうなりますか。

(mbstringモジュールが有効であることが前提ですが)


mb_language(”ja”);

mb_internal_encoding(”SJIS”);

id:P-mako

結果的にはnkfで解消しましたが、たしかにご指摘のようなケースもありがちかも知れないですね。

今後のためには、良い参考になりそうです。

ありがとうございます。

2006/02/15 10:20:49

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません