Servlet响应乱码问题
描述:使用如下代码设置编码后,在浏览器上使用get请求响应仍是乱码:
req.setCharacterEncoding("utf-8");
resp.setCharacterEncoding("utf-8");
resp.getWriter().println("维护世界和平的重任");
而在表单提交方式中设置请求方式为post,使用上述代码进行响应编码设置,则能正常显示,结合查阅网上信息可得出结论:
get方式传递的参数内容默认编码是ISO8859-1,并且只设置编码格式无法解决乱码问题
解决方案:
通过设置响应头的方式,告诉浏览器编码格式:
resp.setHeader("content-type","text/html;charset=utf-8");
//或者设置ContentType
resp.setContentType("text/html;charset=UTF-8");