Hitachi

Cosminexus V11 アプリケーションサーバ 機能解説 基本・開発編(Webコンテナ)


2.6.5 デフォルトの文字エンコーディングの実装(Servlet仕様の場合)

Servlet仕様で規定された文字エンコーディングの設定がある個所で,アプリケーションサーバで設定したデフォルトの文字エンコーディングは無効となります。

ここでは,Servlet仕様で規定された文字エンコーディングの設定について説明します。なお,文字エンコーディングの設定は,Servlet仕様のバージョンによって異なります。

〈この項の構成〉

(1) Servlet仕様での文字エンコーディングの設定方法

Servlet仕様での文字エンコーディングの設定方法について,Servlet/JSPのバージョンごとに表に示します。

表2‒20 Servlet仕様での文字エンコーディングの設定方法(Servlet 2.5,3.0,3.1/JSP 2.1,2.2,2.3)

設定内容

設定場所

Servlet仕様での設定方法

リクエストの文字エンコーディング

サーブレット

ServletRequest.setCharacterEncoding(java.lang.String env)※1

JSPファイル

なし

レスポンスの文字エンコーディング

サーブレット

  • ServletResponse.setCharacterEncoding(java.lang.String charset)※1

  • ServletResponse.setContentType(java.lang.String type)※1

  • ServletResponse.setLocale(java.util.Locale loc)※1

JSPファイル

  • PageディレクティブのcontentType属性値(charsetを含む)※2

  • PageディレクティブのpageEncoding属性※3

  • web.xmlのpage-encoding要素※2

JSPファイルの文字エンコーディング

JSPファイル

  • BOM※3

  • PageディレクティブのcontentType属性値(charsetを含む)※2

  • PageディレクティブまたはTagディレクティブのpageEncoding属性※3

  • web.xmlのpage-encoding要素※2

  • XML宣言のencoding属性※4

注※1 パッケージはjavax.servletです。

注※2 JSPページに設定する方法です。

注※3 JSPページまたは標準形式のタグファイルに設定する方法です。

注※4 JSPドキュメントまたはXML形式のタグファイルに設定する方法です。

表2‒21 Servlet仕様での文字エンコーディングの設定方法(Servlet 2.4/JSP 2.0)

設定内容

設定場所

Servlet仕様での設定方法

リクエストの文字エンコーディング

サーブレット

ServletRequest.setCharacterEncoding(java.lang.String env)※1

JSPファイル

なし

レスポンスの文字エンコーディング

サーブレット

  • ServletResponse.setCharacterEncoding(java.lang.String charset)※1

  • ServletResponse.setContentType(java.lang.String type)※1

  • ServletResponse.setLocale(java.util.Locale loc)※1

JSPファイル

  • PageディレクティブのcontentType属性値(charsetを含む)※2

  • PageディレクティブのpageEncoding属性※3

  • web.xmlのpage-encoding要素※2

JSPファイルの文字エンコーディング

JSPファイル

  • PageディレクティブのcontentType属性値(charsetを含む)※2

  • PageディレクティブまたはTagディレクティブのpageEncoding属性※3

  • web.xmlのpage-encoding要素※2

  • XML宣言のencoding属性※4

注※1 パッケージはjavax.servletです。

注※2 JSPページに設定する方法です。

注※3 JSPページまたは標準形式のタグファイルに設定する方法です。

注※4 JSPドキュメントまたはXML形式のタグファイルに設定する方法です。

表2‒22 Servlet仕様での文字エンコーディングの設定方法(Servlet 2.3/JSP 1.2)

設定内容

設定場所

Servlet仕様での設定方法

リクエストの文字エンコーディング

サーブレット

ServletRequest.setCharacterEncoding(java.lang.String env)

※1

JSPファイル

なし

レスポンスの文字エンコーディング

サーブレット

  • ServletResponse.setContentType(java.lang.String type)※1

  • ServletResponse.setLocale(java.util.Locale loc)※1

JSPファイル

PageディレクティブのcontentType属性値(charsetを含む)

JSPファイルの文字エンコーディング

JSPファイル

  • PageディレクティブのcontentType属性値(charsetを含む)※2

  • PageディレクティブのpageEncoding属性※2

注※1 パッケージはjavax.servletです。

注※2 JSPページまたはJSPドキュメントに設定する方法です。

(2) Servlet仕様で規定されている文字エンコーディング

Servlet仕様での文字エンコーディング設定,およびアプリケーションサーバでのデフォルトの文字エンコーディングの設定がない場合は,Servlet仕様で規定されている文字エンコーディングが適用されます。

文字エンコーディングを設定していない場合に適用される,Servlet仕様で規定された文字エンコーディングを次に示します。