通过ajax异步请求spring mvc controller时,突然发现中文乱码。
    spring对返回的信息转换有两个类:StringHttpMessageConverter和AbstractJackson2HttpMessageConverter。
    controller返回String类型时,使用的是StringHttpMessageConverter。StringHttpMessageConverter这类默认编码方式是:ISO-8859-1。
    AJAX请求页面乱码问题 - 图1

    从以上代码可以看出,如果没有指定编码格式就会使用默认的编码ISO-8859-1,从而导致中文乱码。
    AJAX请求页面乱码问题 - 图2

    而AbstractJackson2HttpMessageConverter默认的编码格式为:UTF-8

    解决方法:
    spring mvc返回参数类型为String类型时,需要对返回的编码方式进行修改确保前后匹配
    AJAX请求页面乱码问题 - 图3

    已使用 Microsoft OneNote 2016 创建。