springMVC的@ResponseBody中文乱码

网上很多这种文章但是都没有什么用,有的基本都是只说了一半。

解决方法有很多,一种是局部,也就是单个方法有用的

@RequestMapping(value="", produces = "application/json; charset=utf-8")

鼠标移到produces上有如下提示

produces = "text/html; charset=utf-8"

produces = "text/plain; charset=utf-8"

都可以配置



第二种是全局的,配置一次就可以了

<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" />
            </bean>
        </mvc:message-converters>
    </mvc:annotation-driven>

网上也有这种,但是你们是不是<mvc:annotation-driven>不能配置子集

这里只要把你们的spring-mvc-.xsd改成4就可以在<mvc:annotation-driven>下配置了,如下图

主要还是spring-mvc-4.0.xsd。改了之后再eclipse中按ALT+/就会出现如下提示

这边还要注意一点

<property name="supportedMediaTypes" value = "text/plain;charset=UTF-8" />

text/plain这个还是会中文乱码,用text/html就不会

时间: 2024-10-10 14:39:04

springMVC的@ResponseBody中文乱码的相关文章

SpringMvc返回@ResponseBody中文乱码

使用SpringMvc的@ResponseBody返回指定数据的类型做为http体向外输出,在浏览器里返回的内容里有中文,会出现乱码,项目的编码.tomcat编码等都已设置成utf-8,如下返回的是一个字符串中文乱码. Java代码   @RequestMapping("user/get_comment_list.do") public @ResponseBody String getUserCommentList(Integer user_id,Byte type){ HashMap

SpringMVC中@ResponseBody中文乱码

常常json以@ResponseBody注解String类型返回,由于 StringHttpMessageConverter里面默认设置了字符集是ISO-8859-1,因此这儿传回去的字符串中的中文常常是乱码,多个?号表示的样子,解决的方法是将StringHttpMessageConverte r默认值改为UTF-8才行. spring配置文件中添加这两个bean,代码如下:     <bean name="utf8Charset" class="java.nio.ch

解决springmvc+mybatis+mysql中文乱码问题【转】

这篇文章主要介绍了解决java中springmvc+mybatis+mysql中文乱码问题的相关资料,需要的朋友可以参考下 近日使用ajax请求springmvc后台查询mysql数据库,页面显示中文出现乱码 最初在mybatis配置如下 <select id="queryContentById" resultType = "java.lang.String" parameterType="String" >     select t

Hession集成Spring + maven依赖通讯comm项目 + 解决@ResponseBody中文乱码

hessian结合spring的demo hessian的maven依赖: <!-- hessian --> <dependency> <groupId>com.caucho</groupId> <artifactId>hessian</artifactId> <version>4.0.7</version> </dependency> 实例demo:Hession集成Spring + maven依

《经久不衰的Spring框架:@ResponseBody 中文乱码》(转)

转载自:http://www.cnblogs.com/shanrengo/p/6429291.html 问题背景 本文并不是介绍@ResponseBody注解,也不是中文乱码问题的大汇总笔记,这些网上都有很多内容了.这边仅对几年前,一个卡壳了挺久时间的问题的解决过程做一个记录,以警惕自己,达到自醒得目的. @ReponseBody 注解不用多介绍了,用过SpringMVC的同学都很熟了,@ResponseBody 将内容或对象作为 HTTP 响应正文返回,使用@ResponseBody将会跳过视

SpringMvc+thymeleaf+HTML5中文乱码问题

SpringMvc+thymeleaf+HTML5环境下遇到中文乱码......(注意是HTML5) 按照以往经验逐个排查,开发环境统一为utf-8编码,服务器也配置了编码过滤器.前台页面也是utf编码的. 郁闷,到底哪里出错了呢? 排错1:开发者工具检查请求,发现我的post请求体(表单)乱码 第一个坑:表单添加:accept-charset="UTF-8",请求体正常.服务器也打印出中文. 排错2:服务器应该没问题,可是页面怎么还是乱码? 百度查有人说可能可能是文件编码不对,即文件

SpringMVC配置解决中文乱码的过滤器

SpringMVC框架中有提供解决get.post请求中文乱码的类,只需要在web.xml文件中配置该过滤器即可. <filter> <filter-name>CharacterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <

使用SpringMVC框架解决中文乱码的问题

spring Web MVC框架提供了org.springframework.web.filter.CharacterEncodingFilter用于解决POST方式造成的中文乱码 问题. 需要在web.xml中进行如下的配置即可 <filter> <filter-name>CharacterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterE

springmvc里面的中文乱码问题

如果是以get方法提交的表单,则可以在comcat服务器的server.xml文件里面设置 <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8"/>,并重启服务器即可,不能用request.setCharacterEncoding(&