问题1:
在Servlet中使用request.getRequestDispatcher()请求转发某个JSP页面时遇到中文乱码问题,中文全部变成了问号。单独测试JSP页面时无乱码。
解决:
解决的办法分三步。
第一步:确保JSP页面最顶端包含以下语句。
<%@ page contentType="text/html; charset=utf-8" language="java" import="java.util.*" pageEncoding="utf-8"%>
第二步:确保servlet中包含以下代码。
尤其是后两句。
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
第三步:确保第二步中的语句放在了response.getWriter();语句之前。
注意:
在MyEclipse2016版本中创建的servlet文件中会在doGet()方法中自动包含response.getWriter().append(“Served at: “).append(request.getContextPath());语句。记得把这条也要注释掉。