サイトの作り方

文字コードについて

2007/03/04 2022/04/08

この記事は執筆されてから16年が経過しています。

文字コードとはPCが文字や記号を表示するために各文字に割り当てられた固有の数値のことです。図は文字コード表の理論構造を分かりやすくした例(PC内部で実際にこの表のように管理されているわけではありません)です。PCは「あ」を「あ」として認識しているのではなく「aの1」の内容を表示しているのです。

  a b c d e f g
1
2
3
4
5

英語圏のPCではアルファベット26種類に数字10種類に記号などを加えても128種類の数値で十分対応できます。しかし、日本では日本語を表示するために2バイトコード採用され第一水準では漢字2965種類、かな169種類、英数字62種類、特殊記号293種類を含めた3489種類になります。これに第二水準を加えると総数が6000種類を超えてしまいます。

これに加え、日本語には数種類の文字コード規格が存在します。

  1. EUC

    1985年にAT&T社が制定、Extended Unix Codeの略称で日本語用UNIXで使用されている文字コードです。

  2. JIS(iso-2022-jp)

    日本工業規格で規定されている日本語文字コード。公的ではないがメールの標準文字コードとして使用されています。HTMLメールを配信する際にはShift JISでは一部のメーラーで文字化けが起こるためにJISコードが使用される場合があります。

  3. Shift JIS

    SJISとも呼ばれるShift JIS文字コードはMicrosoft社が開発しWindows、Apple社のMac OSなどの標準文字コードとして普及しています。

  4. UTF

    UTFとはUnicode文字コード理論の一種で本来ASCII文字コードと互換性のなかったUnicode文字コードを運用上の都合などにより互換性がある文字コードとして考案されました。ただし保存形式の違いにより2バイトだった文字が3バイトや4バイトとして保存されるために同じ文字数でも他の文字コードに比べてファイル容量が大きくなります。

    ウェブログツールとして有名なMovable Typeの日本語版の初期設定ではUTF-8に設定されています。

Windowsユーザであればメモ帳などで制作することを考えればShift JISで記述することになります。しかしWEBサイトにPerlやPHPを利用する場合は文字コードのサポート状況から考えてもShift JISではなくEUCで記述する方が安全です。

Windowsユーザの場合、Shift JIS以外の文字コードで記述されたテキストファイルをメモ帳で開くと日本語部分は文字化けして表示されます。

文字化けを防ぐ

Internet Explorer、Firefox、Operaなど多くのブラウザでは文字コードを自動的に判別する機能を備えているが絶対というわけではなくまれに判別ミスを起こします。その結果が文字が「???・□????ID????□」のように表示されることがあります。表示するファイルの文字コードを表示する側(ブラウザ)の判断ミスによって引き起こされる現象を文字化けと言います。

それを防ぐためにもHTMLファイルのタグ内表示に使用する文字コードをブラウザ側に強制できる文字コード宣言を行うことが大切です。

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

<meta http-equiv="Content-Type" content="text/html; charset=iso-2022-jp">

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

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

文字コード宣言がeuc-jpであるのに、HTMLファイルをShift JISで記述すると文字化けの原因となります。またeuc-jpと「-」を使用しますが、shift_jisでは「_」になるため注意が必要です。文字コードを間違えた場合も文字化け発生の原因になる可能性があります。

改行コード

改行コートは改行を意味するための制御文字ですが通常はディスプレイには表示されません。Windowsは「CR+LF」、Macintoshは「CR」、UNIXは「LF」を使用しており、Windows PCで改行コードがCRで保存されたテキストファイルをメモ帳で開くと改行コード部分に小さな黒い四角を見ることができます。

HTMLファイルでは改行コードは空白スペースとして扱われるために、<pre>タグ内でなければいくら改行してもWEBサイトの見た目には変化がありませんが、PerlやPHPなどのプログラムと連動して動作する場合は注意する必要があります。

機種依存文字

WindowsやMacintoshなどその機種でのみ表示することができる文字のことを機種依存文字と呼びます。Docomoの携帯電話から絵文字入りのメールをPCに送ると絵文字部分が「〓」と表示されますが、これは絵文字がDocomoの携帯電話の機種依存文字になるためです。

Windowsの機種依存文字である○の中に数字が書かれたものなどを使用した場合、Macintoshではうまく表示されずWEBサイト制作者の意図が伝わらないなどが考えられるため機種依存文字は使用してはいけません。

アバター画像
Crownfrog

2024年で、Webサイトの制作に従事して20年になる「インターネット老人会」の会員です。NIFTY-Serve、ISDNはじめちゃん、個人サイト、ウェブリング、前略プロフィール、mixiは一通り経験しております。

  • Fintie iPad 9.7 ケース(デニムインジゴ)
  • Anker PowerCore Slim 10000 PD(モバイルバッテリー 10000mAh USB PD対応 大容量)

最新ランキング