• 検索結果がありません。

デフォルトの文字エンコーディングの注意事項

JSP 2.0,2.1 JSP ページ ISO-8859-1

2.6.8  デフォルトの文字エンコーディングの注意事項

デフォルトの文字エンコーディングの適用については,次の点に注意してください。

(1) レスポンスへのデフォルトの文字エンコーディングの設定の可否について

次の場合は,レスポンスへのデフォルトの文字エンコーディングの設定は有効になりません。

• 静的コンテンツの拡張子が,webserver.static_content.encoding.extension パラメタ※1に指定した 拡張子以外の場合

• Servlet 仕様で規定されたエラーページの静的コンテンツに対して,レスポンスへのデフォルトの文字 エンコーディングを設定しない場合※2

注※1 

デフォルトの文字エンコーディングを適用させる静的コンテンツの拡張子を指定するためのパラメタ です。

注※2 

次のどちらかの条件のあとに出力された静的コンテンツの場合は,レスポンスへのデフォルトの文字エ ンコーディングの設定が有効になります。

• レスポンスに対して文字エンコーディングを設定しない場合で,サーブレット,JSP,フィルタなど で,javax.servlet.ServletResponse クラスの getWriter メソッドによって java.io.PrintWriter オ ブジェクトが取得されるとき。

• setAttribute メソッドが実行されても,リクエストオブジェクトがラップされる場合で,そのリク エストオブジェクトが,setAttribute メソッドを呼び出さないリクエストラッパでラップされると き。

なお,HTTP レスポンス圧縮フィルタを使用している場合は,レスポンスへのデフォルトの文字エンコー ディングの設定は有効になりません。

(2) getCharacterEncoding メソッドに適用される文字エンコーディング

Servlet 仕様で文字エンコーディングを設定していない場合,次に示す Servlet API のメソッドには,J2EE サーバ単位または Web アプリケーション単位で設定したデフォルトの文字エンコーディングが適用され ます。

• javax.servlet.ServletRequest の getCharacterEncoding メソッド(リクエストの場合)

• javax.servlet.ServletResponse の getCharacterEncoding メソッド(レスポンスの場合)

ただし,setCharacterEncoding メソッドで文字エンコーディングを変更しているときは,

setCharacterEncoding メソッドで変更した文字エンコーディングが取得されます。

また,レスポンスの場合,javax.servlet.ServletResponse の reset メソッドを使用してレスポンスデータ を初期化したときは,getCharacterEncoding メソッドで取得できる文字エンコーディングは,アプリケー ションサーバで設定した文字エンコーディングとなります。

なお,Servlet 仕様での文字エンコーディングの設定方法については,「2.6.5 デフォルトの文字エンコー ディングの実装(Servlet 仕様の場合)」を参照してください。

(3) XML 宣言内の文字エンコーディング

JSP ドキュメントおよび XML 形式のタグファイルで,Web コンテナが XML 宣言を自動生成する場合,

XML 宣言内の文字エンコーディングの宣言には,レスポンスボディのエンコードに適用されたデフォルト の文字エンコーディングが出力されます。

(4) JSP ファイルへの文字エンコーディングの適用

JSP ファイルへの文字エンコーディング設定は,JSP ファイルのコンパイル時に適用されます。このため,

すでに JSP ファイルがコンパイルされている状態で,文字エンコーディングの設定を追加または変更して も,追加または変更した文字エンコーディングは JSP ファイルに反映されません。設定を反映させるため には,再度,コンパイルを実施してください。

(5) 07-00 で JSP 事前コンパイルを実行した Web アプリケーションへの文字エンコー ディング設定

07-00 で JSP 事前コンパイルを実行した Web アプリケーションに対して,レスポンスへのデフォルトの文 字エンコーディングを設定する場合は,再度,JSP 事前コンパイルを実施してください。

デフォルトの文字エンコーディングの設定単位ごとに説明します。

• J2EE サーバ単位での設定の場合

J2EE サーバ上で動作するすべての Web アプリケーションの JSP ファイルに対して,JSP 事前コンパイ ルを実施します。

• Web アプリケーション単位での設定の場合

Web アプリケーションに含まれる JSP ファイルに対して,JSP 事前コンパイルを実施します。

なお,JSP 事前コンパイル実行時でのデフォルトの文字エンコーディング設定については,「2.6.3 JSP 事 前コンパイル実行時の文字エンコーディングの適用」を参照してください。

(6) デフォルトエラーページの文字エンコーディングについて

デフォルトエラーページの文字エンコーディングは UTF-8 に設定されているため,デフォルトエンコー ディングは適用されません。

Outline

関連したドキュメント