2.6.5 デフォルトの文字エンコーディングの実装(Servlet仕様の場合)
Servlet仕様で規定された文字エンコーディングの設定がある個所で,アプリケーションサーバで設定したデフォルトの文字エンコーディングは無効となります。
ここでは,Servlet仕様で規定された文字エンコーディングの設定について説明します。なお,文字エンコーディングの設定は,Servlet仕様のバージョンによって異なります。
(1) Servlet仕様での文字エンコーディングの設定方法
Servlet仕様での文字エンコーディングの設定方法について,Servlet/JSPのバージョンごとに表に示します。
設定内容 |
設定場所 |
Servlet仕様での設定方法 |
---|---|---|
リクエストの文字エンコーディング |
サーブレット |
ServletRequest.setCharacterEncoding(java.lang.String env)※1 |
JSPファイル |
なし |
|
レスポンスの文字エンコーディング |
サーブレット |
|
JSPファイル |
|
|
JSPファイルの文字エンコーディング |
JSPファイル |
|
(2) Servlet仕様で規定されている文字エンコーディング
Servlet仕様での文字エンコーディング設定,およびアプリケーションサーバでのデフォルトの文字エンコーディングの設定がない場合は,Servlet仕様で規定されている文字エンコーディングが適用されます。
文字エンコーディングを設定していない場合に適用される,Servlet仕様で規定された文字エンコーディングを次に示します。
-
リクエストの場合
ISO-8859-1が適用されます。なお,サーブレットおよびJSPファイルでは,Servlet APIを使用して設定されます。
-
レスポンスの場合
Servlet仕様で規定された文字エンコーディングを,Servletのバージョンごとに次の表に示します。
表2‒23 Servlet仕様で規定された文字エンコーディング(レスポンス) Servletのバージョン
種類
適用される文字エンコーディング
Servlet 2.3
サーブレット
ISO-8859-1
JSPページ
JSPドキュメント
Servlet 2.4以降
サーブレット
ISO-8859-1
JSPページ
JSPドキュメント
UTF-8
-
JSPファイルの場合
Servlet仕様で規定された文字エンコーディングを,Servletのバージョンごとに次の表に示します。