解决Spring MVC ResponseBody返回中文字符串乱码问题

解决Spring MVC ResponseBody返回中文字符串乱码问题

引起乱码原因为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 users = userService.getAll();

ObjectMapper om = new ObjectMapper();

System.out.println(om.writeValueAsString(users));

DataGrid dg = new DataGrid();

dg.setData(users);

return om.writeValueAsString(dg);

}

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

第二种方法:

在配置文件中加入


 在此我向大家推荐一个架构学习交流群。交流学习群号:938837867 里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化、分布式架构等这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

你可能感兴趣的:(解决Spring MVC ResponseBody返回中文字符串乱码问题)