使用requestdispatcher.forward重定向到页面时,不显示unicode字符

时间:2018-01-12 04:45:47

标签: servlets internationalization utf requestdispatcher

我创建了一个支持英语和日语的应用程序。我正在使用资源包和属性文件。

当我使用请求dispacther将请求转发到另一个JSP文件时出现问题:

  RequestDispatcher rd1 = request.getRequestDispatcher("jsp/Update.jsp");
  rd1.forward(request, response);

日语字符显示为

  

????

但是,当我通过提供完整路径直接打开Update.jsp时,日语字符会按预期显示。

1 个答案:

答案 0 :(得分:1)

请记住,JSP页面是一个包含Java内容的HTML页面。

您是否在JSP中包含了日语字符集?

<META http-equiv="Content-Type" contentType="text/html; charset=EUC-JP" >
<%@ page contentType="text/html; charset=EUC-JP" %>

如果这不起作用,请尝试这样做:

request.setCharacterEncoding("UTF-8");
转发请求之前