所以我以一种天真的方式使用 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"%>
因此,“消息”中的所有非 ASCII 字符都会出现乱码。我不想将我的 JVM 默认编码设置为 UTF-8,那么我该如何解决呢?我试着用
response.setCharacterEncoding("UTF-8");
在重定向之前在 Servlet 上,但它不起作用。当我尝试执行时:
out.print(request.getCharacterEncoding());
在我的 .jsp 文件上打印“null”。