java - SpringMVC@ResponseBody中文乱码
PHP中文网
PHP中文网 2017-04-18 10:42:03
0
6
722
PHP中文网
PHP中文网

认证0级讲师

Antworte allen(6)
小葫芦

xml文件中加上这个就可以了
<mvc:annotation-driven>

    <mvc:message-converters register-defaults="true">
        <bean class="org.springframework.http.converter.StringHttpMessageConverter">
            <property name="supportedMediaTypes" value="text/html;charset=UTF-8"></property>
        </bean>
    </mvc:message-converters>
</mvc:annotation-driven>
左手右手慢动作

不知道MediaType是啥,不过我一直是用produces = "application/json;charset=UTF-8"这个编码,还是说前台的编码不是utf-8

黄舟

如果服务器是 Tomcat,则换到 8.0 以上版本。旧版本缺省情况下不是 UTF-8 编码。

左手右手慢动作

配置一个 spring 的编码过滤器
随手搜的一个,供参考
如果是新项目去看看 spring boot 吧,基本不用怎么配置,像中文乱码这些都默认配好了。

阿神

说一下乱码问题 GET和POST
POST在web.xml文件中配置spring过滤器,使用servlet原始方法 但是这样JSON问题还是解决不了 如图可以解决
GET乱码tomcat7及以下在web.xml中配置URIencoding=utf-8 或者拿过来使用ISO-8859-1手动解码然后再用UTF-8编码

Peter_Zhu

配置一个简单的CharacterFilter可能解决不了, 如果使用的是Jackson2,试试下面这种方案

<mvc:annotation-driven>
        <mvc:message-converters>
            <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
                <property name="supportedMediaTypes">
                    <util:list>
                        <value>application/json;charset=UTF-8</value>
                        <value>text/html;charset=UTF-8</value>
                    </util:list>
                </property>
            </bean>
        </mvc:message-converters>
    </mvc:annotation-driven>

jackson1同理,只是类换成了MappingJacksonHttpMessageConverter

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage