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
製品・サービス情報
対象製品 Interstage Application Server
バージョン V9, V8, V7, V6
プラットフォーム Solaris
アンサー種別 構築(導入/移行)
このページの先頭へ