コードページは、1つ以上の言語スクリプトをサポートするキャラクタセットを格納しているテーブルです。キーボードのキーが押されると、コンピュータはそのキー入力を表す数値コードを受け取ります。コードページには、このような数値コードが格納されています。多くのパソコンのオペレーティングシステムでは複数のコードページがサポートされており、コードページ間を切り替えることができます。
たとえば、DOSの場合は、英語、フランス語、ドイツ語などのローマ英数字に対してコードページ437を使用しますが、ポルトガル語に対してはコードページ850が必要です。DOSコードページ850 (ポルトガル語)では、f (フラン)の記号が削除され、O (鋭アクセント符号)が挿入されています。同じ言語でも、対応するコードページは、コンピュータのオペレーティングシステムごとに異なります。たとえば、DOSでは英語に対してコードページ437が使用されますが、Windows* 95ではコードページ1252が使用されます。
シングルバイトのコードページでは、大文字、小文字、数字、句読点、およびキーボード上のすべての数学記号を、256コード以内で表します。
しかし、あらゆる言語で使用されているすべての文字や記号を記述するには、256コードでは足りません。中国語、日本語、韓国語など、英字以外の言語では数千もの文字が使用されており、ダブルバイトコードページが必要です。
シングルバイトとダブルバイトのコードページの違いによって、通常、表示に関して問題が生じます。たとえば、日本でWindows 95を使って作成した文書は、おそらくコードページ932で作成されています。この文書を、米国でコードページ1252を使用しているWindows 95コンピュータで表示しても、同じようには表示されません。認識できない文字は、ハート形などの記号に置き換えられます。以前は、置き換えられたこのような文字が原因で、Novell eDirectoryなどのデータベースがオブジェクトを認識できませんでした。
このような問題を解決するために、Unicode*と呼ばれる規格が導入されました。
UnicodeはUnicode Consortiumによって定義された16ビットで文字を表す規格であり、最高で65,536文字をサポートできます。Unicodeを使用すると、複数の言語の文字を、Unicode規格だけで表現できます。
使用しているコードページで理解できない文字は、[00FF]のように、Unicode文字の4桁の16進数値に置き換えられ、角かっこで囲まれて表示されます。
eDirectoryはUnicodeをサポートするので、置き換えられた文字によって、eDirectoryがオブジェクトを認識できなくなることはありません。たとえば、会社のヨーロッパ支店が、西ヨーロッパの財務を表す部門オブジェクトを作成したものとします。DOSコードページ852を使用して、一般通貨記号がオブジェクト名の一部に設定されています(OU=[curren]W-Euro)。
このオブジェクトを、米国でDOSコードページ437またはWindows 95コードページ1252を使ってアクセスすると、通貨記号([curren])は、この記号を表すUnicode値とそれを囲む角かっこ、つまり[00A4]に置き換えられます。eDirectoryはUnicode値を認識するので、そのままオブジェクトを開き、アクセスできます。
ただし、角かっことUnicode値が含まれるオブジェクト名は、ユーザにとっては理解しづらいものです。名前が難しすぎて理解できない場合、唯一の解決法は、オブジェクトを作成するときに使用したコードページを判断し、そのコードページを使ってオブジェクトを表示することです。コードページの変更は厄介です。ガイドラインについては、「コードページの変更」を参照してください。
次の表は、Unicode値の範囲、各範囲の説明、および文字を正しく表示するために使用するコードページのリストです。ただし、推奨されるコードページの1つに切り替えても、正しい結果が表示されることが保証されているわけではありません。たとえば、日本、中国、および韓国では、4E00-9FFF (漢字)の範囲にある文字が使用されています。しかし、コードページ932 (日本語)に切り替えても、中国でのみ使用されている文字は正しく表示されません。
最も確実に文字を決定するには、Unicode Standard Version 2.0を参照します。詳細については、UnicodeのWebサイトを参照してください。Webサイトには、Unicode文字のチャートも含まれています。
表: 1. Unicode範囲、説明、およびコードページ