PHPプログラミングで人を幸せにしたい

PHPプログラミングで人を幸せにしたい


PHPプログラミングを勉強中のりょうま堂です。プログラミングは価値あるものを生み出せる数少ない技術。PHPは簡単なので入門に最適ですよ!

文字コードを正しく指定してプログラムを書こう

PHPプログラミングの基礎

PHPスクリプトをブラウザ表示したら文字化けしちゃった(泣)

せっかくPHPを練習しようとスクリプトを書いたのに、いざブラウザに表示すると文字化けが・・・。
だいたい誰でも最初に1回ハマるポイントだと思います。
解決するには、スクリプトの文字コード・HTMLの文字コード・テキストエディタの文字コードを統一してやりましょう。

文字コードはEUC-JPかUTF-8にしませう

苦労してPHPの開発環境を整えたのに、文字化けしてしまった~!
ご安心ください。あと少しで完成です。
文字化けしているということは、少なくとも出力されるところまでいってますので、あとは文字コードだけです。  
PHPスクリプトの文字コード指定は、スクリプトの先頭に次のように記載します。

<?php <header("Content-Type: text/html; charset=UTF-8"); > ?>

上の例は文字コードUTF-8を指定した場合です。
EUC-JPの場合は右の文字コードのところを変えてあげます。
デフォルトでこの文字コードを使う!っていう設定は、PHPの設定ファイルであるphp.iniで設定できます。
php.iniの設定は他の機会で解説したいので、ここではとりあえずPHPファイルごとに設定するやり方で解説しています。
 
これでも文字化けが直らないこともあります。
原因はHTMLの文字コード設定をしていないためです。
HTMLで明示的に文字コードを指定するには、次のmetaタグを使います。

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

もちろんECU-JPの場合はcharsetのところを変えてあげましょう。
 
文字コードはどれにすればいいのかについては、ECU-JPかUTF-8のどちらかを利用しましょう。
どっちでもいいかなと思います。ざっくりの違いとしては以下のような感じです。

EUC-JP

  • EUC-JPはUNIXシステムでの日本語利用時のスタンダードとされている

UTF-8

  • 多言語共通化技術であるUnicodeによって文字の変換を行う
  • XHTMLのデフォルト文字コードはUTF-8である
  • 海外からのアクセスを想定する場合、最も文字化けがおこりにくい

だいたいですが、以上のような違いがあります。
SHIFT-JISじゃなければどっちでもお好みで。
SHIFT-JISはマイクロソフトが生み出した日本語文字コードですが、ワード・エクセルなどのマイクロソフト製品以外との親和性が低いので、使わない方がいいです。
(Web制作でこの文字コードを使うとカッコ悪いです。)
 
ちなみに僕はUTF-8を使っています。

目次にもどる

テキストエディタの文字コード指定も忘れずに

最後に忘れちゃいけないのが、PHPスクリプトを書くときに使うテキストエディタの文字コード設定です。
テキストエディタは、メモ帳とかですね。
僕はTerapadを使っています。
(TerapadでUTF-8に指定する場合、表示-オプション-文字コードから、初期文字コードと保存文字コードを「UTF-8N」にします。あと改行コードは「CR+LF」にします。)
 
Windows環境でPHPを作る場合、テキストエディタはメモ帳ではなく他のエディタを使いましょう。
前述したように、メモ帳もマイクロソフトのアプリなので文字コードがデフォルトでSHIFT-JISです。

目次にもどる

コメントフォーム

自分の勉強にもなりますので、コメントいただけるとうれしいです。

お名前・ニックネーム

 

タイトル

 

コメント ※HTMLタグは使えません

コメント

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