servlet对于解决乱码问题,请求和响应都分别提供了方法
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
但是我在测试的时候
<span style="white-space:pre"> </span>@Override
public void service(HttpServletRequest req,HttpServletResponse rsp) {
rsp.setCharacterEncoding("UTF-8");
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String date = sdf.format(new Date());
PrintWriter writer = null;
try {
writer = rsp.getWriter();
} catch (IOException e) {
e.printStackTrace();
}
writer.println("当前日期为:"+date);
writer.flush();
writer.close();
}
结果还是存在乱码,我用的chrome,发现chrome默认编码为GDB,所以,设置响应编码的时候最好加上
response.setHeader("content-type","text/html;charset=UTF-8");