@CODEPAGE

@CodePage ディレクティブは、Web ページ内でリテラル (静的) 文字列をエンコードする方法を指定します。コード ページは、数字、句読点、およびその他の記号を含む文字セットです。コードページは、各言語によって異なります。日本語やヒンディー語などマルチバイト系の文字がある一方で、英語やドイツ語などシングルバイト系の文字もあります。@CodePage ディレクティブは書き込み専用です。

コード ページは、文字とシングルバイトの値またはマルチバイトの値とを対応付けた表によって表すことができます。ほとんどのコード ページでは、0x00 〜 0x7F の範囲の文字に対して ASCII 文字セットを共有しています。

構文

<% @CODEPAGE = codepage %>

 

パラメータ
codepage
ASP スクリプト エンジンを実行しているシステムに有効なコード ページを表す符号なし整数です。

@CodePage を明示的に設定すると、単一の応答におけるリテラル文字列に影響します。Response.CodePage は、単一応答内の動的文字列に影響し、Session.CodePage は、セッション内のすべての応答内の動的文字列に影響します。

@CodePage がページ内に明示的に設定されていない場合は、AspCodePage メタベース プロパティまたはシステム ANSI コードページによって暗黙的に設定されます。

応答の本体ごとに、設定できるコードページは 1 つだけです。複数あった場合、不適切な文字が表示されます。2 つのページでコードページを明示的に設定しており、一方のページからもう一方のページを #include、Server.Execute、または Server.Transfer で呼び出している場合、通常は、親ページのコードページが有効になります。この唯一の例外は、Server.Execute 呼び出しの親ページで Response.CodePage が明示的に設定されている場合です。この場合、子ページ内の @CodePage コマンドは親コードページを無効にします。

Response.CodePage または Session.CodePage を明示的に設定する場合は、非リテラル文字列をクライアントに送信する前に設定を行います。同一ページでリテラル文字列と非リテラル文字列を使用する場合、@CodePage のコードページが Response.CodePage のコードページと一致していることを確認します。一致していないと、リテラル文字列と非リテラル文字列のエンコード方式が異なってしまい、正しく表示されません。

Web ページのコードページが Web クライアントにおけるシステムの既定値と一致する場合、Web ページでのコードページ設定は必須ではありませんが、設定することをお勧めします。

ページ内でコードページが設定されている場合、Response.Charset も設定する必要があります。コードページの値は、応答を作成する段階で、データのエンコード方式を IIS に指定します。Charset の値は、応答を表示する段階で、データのデコード方式をブラウザに指定します。Response.Charset の CharsetName は、コードページの値と一致していることが必要です。一致していない場合、ブラウザで表示する文字が統一されません。CharsetNames と対応するコードページの値の一覧については、MSDN Web Workshop の Preferred Charset Label および FamilyCodePage の各列を参照してください。

Web ページのファイル形式は、ページ内で使用する @CodePage と一致させる必要があります。Notepad.exe では、ファイルを UTF-8 形式またはシステムの ANSI 形式で保存できます。たとえば、@CodePage が UTF-8 を表す 65001 に設定されている場合、Web ファイルは UTF-8 形式で保存します。@CodePage が 1252 に設定されている場合、Web ファイルは英語かドイツ語システムの ANSI 形式で保存します。システム言語とは異なる言語の ANSI 形式でページを保存する場合、[コントロール パネル] の [地域のオプション] で既定のシステム ロケールを変更できます。たとえば、システム ロケールを日本語に変更した後は、ANSI 形式で保存されるすべてのファイルに日本語のコードページが使用され、日本語のシステム ロケールによってのみ判読可能になります。

異なるコードページおよび文字セットを使用する Web ページを記述してテストしている場合 (たとえば、多言語 Web サイトを作成している場合)、テスト クライアント コンピュータに表示しようとしている各言語の言語パックがインストールされていることが必要です。言語パックは、[コントロール パネル] の [地域のオプション] からインストールします。

Response.CodePage の例を参照してください。

関連項目

Session.CodePageResponse.CodePageResponse.Charset


© 1997-2001 Microsoft Corporation.All rights reserved.