1. 知识点回顾

(1)request.setCharacterEncoding()

使用过滤器解决中文乱码_中文乱码

    这个方法是设置请求体的字符编码,它告诉java应该用什么格式解码。

    这种方式只对POST请求有效,因为POST请求的参数在请求体中。    

    

    (2)response.setCharacterEncoding() 使用过滤器解决中文乱码_java_02

    设置响应的字符编码


    (3)URIEncoding

    使用过滤器解决中文乱码_过滤器_03

使用过滤器解决中文乱码_中文乱码_04    server.xml文件中Connector元素的URIEncoding属性指定解码URI的字符编码,默认是ISO-8859-1

    GET请求的时候,请求参数是附加在URL后面的。所以,这里指定的编码对GET请求有效。


2. 实战

    (1)将URIEncoding设为UTF-8

    (2)配置过滤器(这里使用spring自带的过滤器)

使用过滤器解决中文乱码_中文乱码_05

使用过滤器解决中文乱码_过滤器_06

    至此,所有的GET和POST请求参数统一使用UTF-8解码,所有的响应编码为UTF-8。