博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
解决Spring MVC @ResponseBody返回中文字符串乱码问题
阅读量:7157 次
发布时间:2019-06-29

本文共 930 字,大约阅读时间需要 3 分钟。

引起乱码原因为spring mvc使用的默认处理字符串编码为ISO-8859-1,具体参考org.springframework.http.converter.StringHttpMessageConverter类中public static final Charset DEFAULT_CHARSET = Charset.forName("ISO-8859-1");

解决方法:

第一种方法:

对于需要返回字符串的方法添加注解,如下:

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

public String getAllUser() throws JsonGenerationException, JsonMappingException, IOException
{
List<User> users = userService.getAll();
ObjectMapper om = new ObjectMapper();
System.out.println(om.writeValueAsString(users));
DataGrid dg = new DataGrid();
dg.setData(users);
return om.writeValueAsString(dg);
}

此方法只针对单个调用方法起作用。

第二种方法:

在配置文件中加入

<mvc:annotation-driven>

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

参考:

 

转载地址:http://rmhgl.baihongyu.com/

你可能感兴趣的文章
什么是以太坊DAO?(三)
查看>>
elasticsearch入门
查看>>
获取Apppakge和Activity
查看>>
zencart如何获取产品多图
查看>>
Shell文本处理三剑客之awk
查看>>
Java及各工具(maven\tomcat\oracle)环境变量配置
查看>>
MySQL执行SHOW STATUS查询服务器状态状态之 Handler_read_* 详解
查看>>
思科路由与交换系列--------NA系列
查看>>
Linux基于LDAP进行用户认证
查看>>
ECMASCript6 之 Parmameters and Arguments
查看>>
用php调用graphviz轻松画拓扑图
查看>>
【Linux实验】安装Red Hat Linux操作系统的详细步骤
查看>>
listView 点击后变色 抬起后保持颜色
查看>>
joomla第一单元第十节K2内容模板和K2模块样式
查看>>
linux 常用命令
查看>>
Java进程CPU使用率高排查
查看>>
wamp2.4+composer+rabbitmq环境部署-176
查看>>
vbs读取文件内的信息将对应数据拷贝到其他路径
查看>>
Linux运维常见面试题之精华收录
查看>>
8.3 有序表查找
查看>>