Javaで文字化けが発生します
以下詳細
Ec2にデプロイされたServletに日本語のパラメータを送ると文字化けします
開発環境のEclipseにおいては発生していません
さらにEC2においてもdoPostに送られたパラメータは文字化けしていません
HttpServletRequestに対してはsetCharacterEncoding("utf-8")を設定しています
以上のようにかなり局所的な不具合なのですが原因が分かりません
心当たりのある方はご教示お願いします
コードの概要
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
String text = request.getParameter("text");
Message message = new Message();
message.setMessage("検証 : " + text);
request.setAttribute("message", message);
RequestDispatcher dispatcher = request.getRequestDispatcher("/WEB-INF/jsp/test.jsp");
dispatcher.forward(request, response);
}
環境
Java
openjdk version "1.8.0_222"
OpenJDK Runtime Environment (build 1.8.0_222-b10)
OpenJDK 64-Bit Server VM (build 25.222-b10, mixed mode)
EC2
AWS linux2
Apache-Tomcat 9.0.29
追記
具体的には「タグ」が「ã¿ã°」のようになります
※タグとは文字列の一例であってそれ以上の意味はありません
ログについてですがEC2のログの見方が分からないので確認できていません
上記のコードでフォワードした先のjspページでそう表示されるということです
同じ方法でCharset.defaultCharset().name()を確認したところ、"UTF-8"となっていました
回答1件
あなたの回答
tips
プレビュー