| 2005年09月11日 |
PHPにおける文字化け
1.Apacheでの設定(実行環境)
Apacheの「httpd.conf」ファイルの700行目付近に
『AddDefaultCharset none』とすることで、
HTML内のMETAタグによって文字コードを設定するようにできる。
2.METAタグでの設定
Shift-JISに設定したい場合は以下のようにする。
3.PHPファイルの保存形式での設定
通常、UNIX系はEUC、Windows系はShift-JISで保存するのが一般的。
上記、実行環境、METAタグの設定、PHPの保存形式の組み合わせによって
ブラウザ上での表示が異なってくる。
基本的には、Shift-JISもしくはEUCにすべてのコードを統一するという考え方で
対処するべきである。
しかしながら、それができない場合は、PHPの文字コード変換関数を利用する。
通常の関数で文字コード変更がうまくいかなかった場合は「jcode.phps」を試そう。
これはTOMO氏によるフリーの漢字コード変換スクリプト。
使い方は簡単で、ダウンロードしたjcode.phpsをインクルードするだけ。
これだけで、便利な関数が使えるようになります。
ダウンロードは以下の作者のサイトから入手できます。
http://www.spencernetwork.org/
以下は、「PHPにおける文字化け」の関連エントリーです。
この記事を読んだ人はこんな記事も読んでいます
- 6ゲーム差へ(勝率1位マジック13へ) (671 hits)
- PHP - マジッククォートとSJISの文字化け問題 (97 hits)
- PHPと文字コード (45 hits)
- Movable Type 3.2-ja-2 から 3.3-ja へアップグレード (33 hits)
- HTML→PHP にするためのプチツール (27 hits)
トラックバック
このエントリーのトラックバックURL:
http://shoulder.s51.coreserver.jp/mt/mt-tb.cgi/130
コメント
mbエミュレータとの一番の違いって何ですか?
https://sourceforge.jp/projects/mbemulator/
一応、phpになければmbエミュレータを使うようにはして、mb_decode_encoding() で判断してみたのですが。
TBとは関係ありませんが、MySQLなどのDBの文字コードも問題になることが多いです。
投稿者 itochan : 2006年06月01日 01:31
はじめまして。TBありがとうございました。
文字化けはどうにか解決しましたが、
他の部分でPHPにはいろいろと苦労させられています。
MySQLも利用しているので、こちらの過去エントリーも含め、
いろいろと参考にさせていただきたいと思っています。
またお邪魔させていただきます。
投稿者 from_69 : 2006年06月02日 23:34



