Heim  >  Fragen und Antworten  >  Hauptteil

java - SpringMVC@ResponseBody中文乱码

PHP中文网PHP中文网2721 Tage vor693

Antworte allen(6)Ich werde antworten

  • 高洛峰

    高洛峰2017-04-18 10:44:03

    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>

    Antwort
    0
  • ringa_lee

    ringa_lee2017-04-18 10:44:03

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

    Antwort
    0
  • 黄舟

    黄舟2017-04-18 10:44:03

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

    Antwort
    0
  • ringa_lee

    ringa_lee2017-04-18 10:44:03

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

    Antwort
    0
  • 阿神

    阿神2017-04-18 10:44:03

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

    Antwort
    0
  • 天蓬老师

    天蓬老师2017-04-18 10:44:03

    配置一个简单的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

    Antwort
    0
  • StornierenAntwort