Interstage V5からV6以降にサーブレットアプリケーションを移行したところ、WebクライアントでJSP画面の日本語文字列が「?」に文字化けします。
- Interstage V5からV6以降にサーブレットアプリケーションを移行したところ、WebクライアントでJSP画面の日本語文字列が「?」に文字化けします。原因と対処方法を教えてください。
- V6以降で提供されているTomcat 4.1ベースのServlet実行環境では、サーブレットからJSPにクエリで送信する場合、サーブレット側のコード系で文字変換され、受取側JSPで再度変換されます。
サーブレット側のデフォルトのコード系は"ISO-8859-1"ですが、マルチバイト文字は変換できないため、JSP側でコード系を指定しても文字化けしたままとなっていたのが原因です。
V6以降のTomcat 4.1ベースのServlet実行環境では、デフォルトの文字コード系で、マルチバイト文字で文字化けるすことがあるため、setCharacterEncoding()メソッドにしてコードセットをリクエスト送信前に設定してください。
なお、V5までのTomcat 3.1ベースのServlet実行環境では、文字変換処理が実装されていなかったため、V5環境では文字変換されずに渡され正常に表示されます。
製品・サービス区分 | Interstage | ||||||
---|---|---|---|---|---|---|---|
製品・サービス情報 |
|
||||||
アンサー種別 | 構築(導入/移行) |