方法 : ASP.NET Web ページのグローバリゼーション用のエンコーディングを選択する

更新 : 2007 年 11 月

内部では、ASP.NET Web ページの背後のコードによって、すべての文字列データが Unicode として処理されます。HTTP ヘッダーの Content-Type 部分の CharSet 属性を設定すると、ページが応答をエンコードする方法を設定できます。これにより、ブラウザは、メタ タグを使用せずに、またコンテンツから正しいエンコーディングを推定する必要なく、エンコーディングを決定できます。また、ページが要求時に送信される情報を解釈する方法も設定できます。

さらに、ASP.NET がページ自体のコンテンツを解釈する方法 (ディスク上の物理的な .aspx ファイルのエンコーディング) も設定できます。ファイルのエンコーディングを設定する場合は、すべての ASP ページにそのエンコーディングを使用する必要があります。notepad.exe は、現在のシステム ANSI コード ページ、UTF-8、または UTF-16 (別名 Unicode) でエンコードされたファイルを保存できます。ASP.NET ランタイムは、これらの 3 種類のエンコーディングを区別できます。物理的な ASP.NET ファイルのエンコーディングは、ファイルの @ Page エンコーディング属性で指定されているエンコーディングと同じである必要があります。

39d1w2xf.alert_note(ja-jp,VS.90).gifメモ :

一部のデザイナ (Visual Studio 2005 など) では、異なるエンコーディングを使用する .aspx ファイルを保存できます。

39d1w2xf.alert_caution(ja-jp,VS.90).gif注意 :

Web アプリケーションの名前に、ユーザーのオペレーティング システムの言語以外の 2 バイト文字セット (DBCS) を使用すると、ユーザーのコンピュータで正しく表示されない場合があります。また、旧バージョンの Microsoft FrontPage Server Extensions およびバージョン 5.1 以前の Microsoft IIS (Internet Information Services) では、プロジェクト名を正しく表示するために Web サーバーのオペレーティング システムと同じ言語にする必要があります。

エンコード方式を指定するには

  • すべてのページのエンコーディングを設定するには、次の例に示すように、Web.config ファイルに Globalization プロパティを追加して、fileEncoding、requestEncoding、および responseEncoding の各属性を設定します。

    <configuration>
      <system.web>
        <globalization
          fileEncoding="utf-8"requestEncoding="utf-8"responseEncoding="utf-8"
          culture="en-US"
          uiCulture="de-DE"
        />
      </system.web>
    </configuration>
    
  • 個々のページのエンコーディングを設定するには、次の例に示すように、@ Page ディレクティブの RequestEncoding 属性および ResponseEncoding 属性を設定します。

    <%@ Page RequestEncoding="utf-8" ResponseEncoding="utf-8" %>
    
    39d1w2xf.alert_note(ja-jp,VS.90).gifメモ :

    fileEncoding 属性はファイル自体に適用されるため、設定できません。

参照

その他の技術情報

ASP.NET のグローバリゼーションおよびローカリゼーション