文字コード

トップ > PHP入門 > 文字コード

目次

広告

文字コードについて

文字コードとは、コンピュータで文字を利用するために各文字に割り当てられたコード番号のことです。例えば A は文字コード 41B は文字コード 42、のように決められています。

現在インターネットでは、UTF-8JISShift-JISEUC-JP といった文字コードがよく利用されていますが、文字コードによって日本語に割り当てられているコード番号が異なります。

例えば の文字コードは

と、異なる文字コードが割り当てられています。ですので何も考えずに文字コードを混在させると、ソフトが文字コードを判別できずに文字化けすることがあります。

現在は色々な文字コードが利用されていますが、徐々に UTF-8 が使われる割合が増えています。UTF-8Unicode という文字コードの一つです。Unicode は、世界中で使われているすべての文字を、共通の文字コードで利用できるようにするための規格です。

特にこだわりが無ければ、文字コードは UTF-8 にしておくといいでしょう。以降の解説でも、文字コード UTF-8 でファイルを作成していきます。

なお、Shift-JIS でPHPプログラムを作成するのは

という問題があるのでお勧めできません。

UTF-8のBOMについて

UTF-8 のファイルには、先頭にBOM(Byte Order Mark)と呼ばれる、文字コードを識別するためのデータが付与されることがあります。これはファイルの文字コードが UTF-8 だと明確に宣言するための情報なのですが、HTMLファイルやPHPファイルを作成する際、BOMが付いているとゴミデータとみなされてしまいます。それによって、余計な記号が表示されたりエラーになったりします。

ですので、HTMLファイルやPHPファイルを作成する際はBOM無しの UTF-8 にする必要があります。なお、BOM無しの UTF-8UTF-8N と表記されることがあります。

Windowsに付属しているメモ帳では、BOM無しの UTF-8 でファイルを保存することができません。EmEditorなど高機能なテキストエディタならBOM無しの UTF-8 でファイルを保存することができますので、これらを利用しましょう。

EmEditorでの文字コード指定方法

EmEditorでは、ファイルを保存する際に文字コードを指定することができます。まずはメニューから『ファイル(F)』→『名前を付けて保存(A)』を選択します。

スクリーンショット

ファイルを保存する画面が表示されるので、保存する場所とファイル名に加えて『エンコード(E)』を指定します。(クリックすると拡大表示されます。)

スクリーンショット

以下のように『エンコード(E)』は『UTF-8』に設定し、さらに『Unicodeサイン(BOM)を付ける(G)』にチェックは外しておきます。これで『保存(S)』ボタンを押すと、BOM無しの UTF-8 でファイルを保存することができます。(クリックすると拡大表示されます。)

スクリーンショット

他のエディタでもBOM無しの UTF-8 に対応していれば、ファイルを保存する際に『UTF-8(BOM無し)』や『UTF-8N』を選択できます。