利用Servlet组件,实现了简单的页面请求和响应的处理之后,发现了这个问题。
乱码的原因:
请求和响应的字符集不统一,在编辑文档的时候,都是一般都是用utf-8,但是浏览器不知道响应的内容是utf-8。
解决方法:
在服务器发给浏览器响应的时候,就告诉服务器应该用utf-8字符集对响应内容编码。具体方式:
对于响应乱码:
或者
理解起来就是在解析响应报文产生之前,报文的头信息contentType加上这text/html和utf-8两个参数,这样浏览器就可以知道用utf-8来解析这个内容了。
对于post请求乱码:
在post请求发起之前就告诉服务器请求报文是utf-8,这样服务器接收的时候编码就不会错。
对于get请求乱码:
因为get得到的表单内容是在url中,所以需要在服务器中声明,uriencoding是utf-8。