2010年05月29日(土)

phpでhtmlを生成出力する時の文字化け

phpでの文字化けにはよく悩まされます。

例えば、htmlを生成出力するようなphpを作成し実行してみると・・・

文字化けを起こしている・・。

しかしブラウザで右クリックしエンコードを変えてみると正常に表示される。

ページを更新してみる。

文字化けに戻る。

こんなことがあります。

そんな文字化けのときに試してみる方法をあげてみたいと思います。


1.metaタグで文字コードの宣言をする。
2.出力したい文字コードでファイルも保存する。

まずは「1.metaタグで文字コードの宣言をする。」から。

phpでhtmlを出力する場合、出力したい文字コードのmetaタグも忘れずに出力しましょう。
[sourcecode language=”html”]
<meta http-equiv="Content-Type" content="text/html;charset=Shift_JIS" />
<meta http-equiv="Content-Type" content="text/html;charset=EUC-JP" />
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
[/sourcecode]

「2.出力したい文字コードでファイルも保存する。」
簡単なスクリプトであれば、以外にこの方法で文字化けが解消することがあります。

windows付属のメモ帳などでファイルを開いてしまった場合、文字コードが変わって上書き保存されることがあります。
ファイルを編集後、文字化けが起きるのはこれが原因です。

そんなときにおすすめなのはこのエディタです。
Notepad++

公式

日本語対応版

windows付属のメモ帳を愛する方ならきっと気に入るはず。

特徴としては
●メモ帳並に軽い。
●「フォーマット」メニューから、文字コードの相互変換ができる。

さらに、
●タブ表示なので、一つのウィンドウで複数ファイルの編集が可能。
●さまざまなスクリプトに対応(html,css,php,jsなど他にも多数)
●自動補完機能。
●文字列の折りたたみができる(htmlならばdivを折りたたんで表示するなど)

などがあります。機能が多く使いきれないほどです。

php文字化けから話が飛んでしまいましたが、windows付属のメモ帳をよく使用される方はぜひ試してみてください。

あなたのコメントが一番最初です!

コメントをご入力ください