SITEMAP [初めてのホームページ講座] [逆引きHTML] [0.ワンポイント] [13.「Shift_JIS」or「x-sjis」]

HTMLの参考書 スタイルシートの参考書

逆引きHTMLリファレンス

0. ワンポイント

0-13. 「Shift_JIS」or「x-sjis」

世界中には多くの言語が存在し、それを1つのコンピュータで表現するには、それらの言語に対応したコードが必要になります。 更に悪いことに、OSによってはそのコードの表現方法が異なり、1言語に対して複数の文字コードが存在します。 文字コードは他に符号化方式(Character Sets)とも呼ばれています。

さてその文字コードと各国の言語、OSとの関係はどうなっているのか、少しだけ触れてみましょう。 言語は多いので、日本語に絞ると以下のようになっています。

JISコード   ISO-2202-JP
JIS(日本工業規格)で規定されているコード。これを基にISO(国際標準化機構)で規定されているISO 2022で符号化方式で表現したもの。
シフトJISコード   Shift_JIS
JISコードを基にパソコンで使用するものを新たに追加したもの。WindowsやMacで一般的に使用している。一部UNIXも対応。
EUC   EUC-JP
JISコードを基にUNIX系のコンピュータで使用するもの追加、改編したもの。Linuxなどもこれに対応。

人間が目で見る文字とコンピュータが認識する文字との差があり、プラットフォームごとに異なるコードを使用していたのでは、特にインターネットの世界では困ります。

そこで、メールやニュースなどではISO-2202-JPが用いられています。 ところがWebサイト(HTML)ではその約束事が無く、文字コードは様々な種類のものが氾濫しています。

一般的にUNIX系以外(WindowsやMac)を使っている方はShift_JISを使用していることになります。 通常、HTML文書にはこのコードを明示する必要があります。 と、ここの話をし出すと延々続くのでこの辺でやめることにします。

HTML文書に文字コードを指定する方法は、META要素を用います。 下記に例題を示します。

<META Http-equiv="Content-Type" Content="text/html;charset=Shift_JIS">

「文書タイプはtext/html形式でShift_JISコードである」というメタ情報をサーバーがブラウザに送るもので、ブラウザはこれを基にその形式、コードで表示しようとします。(といっても完全ではないが)

さて本題ですが、Content="text/html;charset=x-sjis"というのをよく見かけます。 この「x-sjis」というのは「Shift_JIS」と同義語です。 では、どちらが正解なのでしょうか?

答えからいくと両方正解です。(厳密には「Shift_JIS」だが) 規格が2つあるのはおかしいとお考えのあなたは更に正解です。 ではどういうことなのでしょう?

インターネットが始まった頃、まだそのころはアメリカだけのものでした。 この時MozaicMozillaという今のNNの前身のブラウザの出現と共に大きく飛躍しました。 このNetscpeMozilla2.0の時点で日本語のコードも対応されたわけですが、この時点でシフトJISコードを「x-sjis」という風に定義づけてしまいました。

日本でもMozaicMozillaと共にインターネット全盛を迎えていくことになります。 悪いことに「Shift_JIS」には未対応で「x-sjis」のみ連れて・・・

その後、IE3、NN3にバージョンアップし、漸くこの時「Shift_JIS」が使えるようになったのです。

しかし残念なことに一度普及してしまったMozilla2.0が存在する限り、「Shift_JIS」では未対応ブラウザがあるため、世の中では更に「x-sjis」が使われました。 こうやってデファクトスタンダードとなっていき、これで「x-sjis」が規格と勘違いするもの、NetscpeMozilla2.0がまだ存在するからと理由づけるもの、と未だに「x-sjis」が使われ続けています。

タイトルの「Shift_JIS」or「x-sjis」を考えると、どちらが本来の正解かわかってきたかと思います。 私の場合もWebデビュー間もない頃は適当に使っていた文字コードが未だにサイトのどこかに眠っているはずです。 今現在着実に「Shift_JIS」化を進めています。

この話に興味を持った方、持たない方いるとは思いますが、「Shift_JIS」を積極的に使用していくようにしましょう。 当然、ご自分の使用している文字コードに合わせることを前提としていますが。

[参考文献]
ANSI_X3.4-1968[RFC1345,KXS2]
HTML 4.0 Specification
間違いだらけのHTML書法

当文書は、俗説を基にしたものであり、人によっては、或いは認識の違いによる誤解が一部無いとも限りません。 あくまでも私個人の意見でありますので、寛大な知見により参考にして下さい。

[Go To Top]

Copyright(C)1998 T.Miyazaki , All Rights Reserved.