我正在以一种朴素的方式使用GET方法重定向我的用户:
response.sendRedirect("/path/index.jsp?type="+ e.getType()
+"&message="+ e.getMessage());
直到我需要发送消息作为实际文本显示给用户时,这一切都很顺利。问题在于,如果消息中包含非ASCII字符,则会出现问题。我的.jsp文件采用UTF-8编码:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
所以'message'中的所有非ASCII字符都会变成乱码。我不想将我的JVM默认编码设置为UTF-8,那么我该如何解决这个问题呢?我尝试使用
response.setCharacterEncoding("UTF-8");
在重定向之前,我尝试在Servlet中进行一些操作,但是它没有起作用。当我尝试执行以下操作时:
out.print(request.getCharacterEncoding());
在我的.jsp文件中,它打印出了“null”。
weblogic.xml
文件中完成。另见例如http://docs.oracle.com/cd/E13222_01/wls/docs81/webapp/weblogic_xml.html#1039258 - BalusC