1. response.setCharacterEncoding(“utf-8)
该方法设置的是向response写入的字符的编码,如
response.setCharacterEncoding("Content-type","text/html;charset=utf-8")
response.getWriter().write("你好,JavaWeb!");
上面代码表示向响应体中写入的字符的编码是utf-8
此时,浏览器中访问该代码所在的页面依然会出现乱码,因为,response向浏览器响应后,浏览器并不知道”你好,JavaWeb!”是UTF-8的格式,因为我们的系统默认是GBK编码,此时必然会出现乱码,需要将浏览器的编码手动设置成utf-8的格式才能正常的显示中文.
2. response.setHeader(“Content-type”,”text/html;charset=utf-8”)
response.setHeader("Content-type","text/html;charset=utf-8");
response.getWriter().write("你好啊,JavaWeb!");
以上通过向Response添加响应头的方式,浏览器在收到该响应的时候,会自动的使用 utf-8 的编码方式显示,而且在调用setHeader(“Content-type”,”text/html;charset=utf-8”) 以后会自动执行setCharacterEncoding(“utf-8”)这样就不会出现乱码了。
tips:常见字符编码:iso-8859-1(不支持中文)、gb2312、gbk、gb18030(系统默认编码,中国的国标码)、utf-8(万国码,支持全世界的编码,所以我们使用这个)