文字化け(機種依存文字)
2000/10/01

1.ホームページの文字化け(言語セット)

ホームページを訪問した時、そのページの使用言語(日本語、英語、中国語など)の指定がない時、
または、その指定があっても、表示する言語のフォントがインストールされていない場合には、
文字化けをすることがあります(下は、文字化けの例です)。


対策 1
前者の対策として、ホームページ作成者は、極力、使用言語を、指定しましょう。

<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html;charset= x-sjis">
<TITLE>タイトル</TITLE>
</HEAD>
<BODY>本文</BODY>
</HTML>

<META HTTP-EQUIV="Content-Type" Content="text/html; charset=Shift_JIS"> ← シフトJIS
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=ISO-2022-JP"> ← JIS
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=EUC-JP"> ← EUC
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=us-ascii"> ← US ASCII
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=iso-8859-1"> ← Western
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=iso-8859-2"> ← Central European

使用言語を指定すれば、半角カタカナも、使用することができます。
但し、CGI を使用している掲示板 (BBS) やチャット (Web,IRC)などは、文字化けします。

対策 2
後者の対策として、ブラウザの使用言語を変更してみましょう(IE の場合:下図)。
もし、それでも、ダメな場合は、その対応している言語のフォントをインストールする必要があります。


OS 漢字コード 改行コード Apache (CGI,pl)
DOS, Windows Shift-JIS \r\n (CR [0D] + LF [0A]) \n
Macintosh Shift-JIS \r (CR [0D]) \n
UNIX EUC (shako, ecopolis),JIS (dollar) 等 \n (LF [0A]) \n
但し、Windows,Macintosh でも、mail (Chat) では、JIS Code が、使われています。
EUC;Extend UNIX Code


2.メール、チャットの文字化け(文字コード)「機種依存文字」

 文字(特に日本語の場合)は、文字コードと呼ばれる文字の番号によって管理されています。
文字コードには、1バイト系(半角文字)と2バイト系(全角文字)があります。
1バイトは、00〜FF までの256種類、2バイトは、0000〜FFFF の65536種類(16進法)です。

半角文字の半角カタカナは、制御コードと混同されるため、
文字化けだけでなく、ファイル自体が壊れる可能性があります。
メールやチャットなどには、使用しないようにしましょう。

2バイト系の文字コードには、シフトJIS・JIS・EUC・Unicode・区点などの種類があります。
Windows と Macintosh は、通常、Shift-JIS を使っていますが、各々が文字コードを拡張し、
独自の文字を追加してしまったため、他機種間では、文字化けを起こすことがあります。
下の表に、Mac と Win の対照表を用意しました。機種が異なると、このように表示されます。
なお、この表以外の文字については、お互い、正常に表示されます。

対策
お互い、機種依存文字(上の図の文字)は、使わないようにしましょう。

Macintosh と Windows の文字コードの違い
Mac と Win で共通な半角(1バイト)文字(青:使用可能、赤:使用不可、黄:制御コード)
ピンク(古いPC-9801のGRPH系文字)は、Shift-JIS の場合、2バイト文字の1バイト目になります。
Mac と Win で共通な全角(2バイト)文字=文字化けしません(緑:古いPC-9801などは除く)
Mac と Win で異なる全角(2バイト)文字=文字化けします
例えば、Mac で「まる1(8540)」をメールやホームページなどで使った場合、
Win では「・」と表示され、Win で「まる1(8740)」を使った場合、
Mac では「(日)」と表示されてしまいます(シフトJISの場合)。
特に、Windows の場合、Pentium II の「II」をローマ数字にしてしまうと、
Mac では「(監)」と表示されてしまいます。
ただ、Mac から Mac または Win から Win の場合には、文字化けしません。
Windows 固有の全角(2バイト)文字=文字化けします
Macintosh 固有の縦記号(2バイト)文字=文字化けします
i-mode 固有の絵文字=文字化けします
i-mode 対応の C-HTML を書く場合には、&#63xxx; というように、 10 進法で記述する必要があります。
但し、PC 上では、外字エリアにあたり "  " というような、表示になってしまいます。
また、i-mode の漢字コードは、Shift-JIS だけの対応となります。
なお、Ez web は、<HTML> タグとは異なる <HDML> タグを使用し、
J-SKY 対応機、ステーション対応機向けの HTML も、一部特有のタグがあります。