Springmvc返回中文字符乱码问题

简介:

SpringMVC的@ResponseBody注解可以将请求方法返回的对象直接转换成JSON对象,但是当返回值是String的时候,中文会乱码,原因是因为其中字符串转换和对象转换用的是两个转换器,而String的转换器中固定了转换编码为"ISO-8859-1",网上也很多种解决方法,有通过配置Bean编码的,也有自己重写转换器的,我这里多次尝试未果,只能自己解决。


第一种:在@RequestMapping中添加produces="text/html;charset=UTF-8


第二种:在MVC 配置中加入,spring版本必需为3.1或以上版本才可以下配置

<mvc:annotation-driven>
        <mvc:message-converters register-defaults="true">
            <bean class="org.springframework.http.converter.StringHttpMessageConverter">
              <constructor-arg value="UTF-8" />
            </bean>
        </mvc:message-converters>
    </mvc:annotation-driven>




     本文转自韩立伟 51CTO博客,原文链接:http://blog.51cto.com/hanchaohan/2055924,如需转载请自行联系原作者

相关文章
|
7月前
蓝易云 - SpringMVC3的ResponseBody返回字符串乱码问题解决
通过以上两步,应该可以解决@ResponseBody返回字符串乱码的问题。
27 0
|
应用服务中间件
SpringMVC的乱码问题解决
SpringMVC的乱码问题解决
61 0
|
前端开发 Java 测试技术
Spring基础篇:自定义类型转换和中文字符串返回乱码
自定义类型转换和中文字符串返回乱码
213 0
|
应用服务中间件
SpringMVC 解决乱码问题
通过POST方法接收用户提交数据的时候,如果数据中存在中文,那么就会触发乱码问题 通过自带过滤器解决(推荐):🛹 在SpringMVC中配置过滤器,web.xml中配置。
139 0
|
JSON 数据格式 测试技术
响应返回JSON数据时出现的unicode编码问题
在数据传输的过程中,为了更好的传输中文,json使用了Unicode编码。也就是说这样一来,我们在解析json之前,就得要先将json数据中的Unicode编码转换为我们使用的中文。这样返回出来的数据才是我们真正需要的数据,那我们应该如何将json字符串中的unicode编码转为中文字符呢?
3268 1
响应返回JSON数据时出现的unicode编码问题
空格在代码中变成其他字符或者乱码问题解决方法
空格在代码中变成其他字符或者乱码问题解决方法
3032 0
|
JSON 前端开发 fastjson
关于SpringMVC返回数据带斜杠字符串问题之解决方案
常用SpringMVC的基本都知道,@RestController和@ResponseBody加上了都会返回json数据。它们的区别主要是注解方面,一个是类级别的一个是方法级别。 之前我们比较喜欢使用@ResponseBody,后来觉得重复性太多了,特别是使用swagger以后,一个方法上面关注解就上了4到5层,为了减少这些繁杂的过程,我们就采取简洁策略,因为都是基于前后端分离开发,前端展示也不打算使用诸如jsp、freemarke、volocity等模板语言。
1989 0
|
JSON 数据格式
工具方法json数据的Unicode乱码
今天在爬取一个网站返回的一段json数据但是一看吓一跳 查询得知这是为了更好的传输中文,json进行了Unicode编码。 下面是工具方法:    1 public static String decodeUnicode(String theString) { 2 ...
1019 0