为什么会乱码?
通信双方在进行通信的时候,实际上是将通信的内容按照一定的规则转化为二进制进行通讯的。
而这个规则就是字符的编码。
在请求到达的时候,另一方需要解码。
由于通信双方的编码方式和解码方式不一样,所以造成了乱码。
tomcat服务器默认使用iso8859-1的编码方式,浏览器不设置的话,默认的编码是gb2312,一般在jsp或者在HTML文件中会设置编码方式为utf-8。
一般我们使用utf-8 的编码格式。
一、get请求乱码:
浏览器编码--》服务器解码
第一步:设置服务器的解码方式,如果已经创建了动态web项目并在服务器上运行过。则可以
否则打开tomcat的目录。
在该目录下找到server.xml
第二步:
找到connector标签,添加URIEncoding="utf8"。这里要注意,是URI而不是URL。
二、post请求乱码:
在第一次请求参数之前,设置request.setCharacterEncoding("utf-8");
千万记住是在第一次请求参数之前。
三、响应乱码:
response.setContentType("text/html;charset=utf8");
服务器的编码设定了同时告诉浏览器解码方式为utf-8