关于springmvc的返回中文乱码的问题,网上可谓是清一色的一样,无外乎就两种,要么在局部类或这方法上解决,类似如下的代码:

 @GetMapping(value="/error/query",produces="text/json;charset=utf-8")
public String getMessage(){
return "增加对字符编码限制";
}

另一种方式是在springmvc.xml中配置对应的全局参数,类似下面列举的部分:

       <mvc:message-converters>
<bean class="org.springframework.http.converter.StringHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/plain;charset=utf-8</value>
<value>text/html;charset=UTF-8</value>
</list>
</property>
</bean>
</mvc:message-converters>

当然上面列举的这个是针对返回值为string类型,对于返回json类型的处理方式是一样的,只不过spring4.3对于json处理默认的编码方式使用的是UTF-8,这个我们可以通过springmvc对json处理类MappingJackson2HttpMessageConverter以及父类AbstractJackson2HttpMessageConverter中可以看到,具体源代码的

 public static final Charset DEFAULT_CHARSET = Charset.forName("UTF-8");

 protected void init(ObjectMapper objectMapper) {
this.objectMapper = objectMapper;
setDefaultCharset(DEFAULT_CHARSET);
DefaultPrettyPrinter prettyPrinter = new DefaultPrettyPrinter();
prettyPrinter.indentObjectsWith(new DefaultIndenter(" ", "\ndata:"));
this.ssePrettyPrinter = prettyPrinter;
}

代码是我截取了部分的源码,所以说如果你使用的spring4.3及后续版本,且返回值为json,如果全局配置,只需要在xml中配置<mvc:annotation-driven /> 即可,中文不会乱码;如果返回值是String类型,如果全局配置,则需要如小编上面的配置即可。

对于局部的处理,则还是使用produces的charset=UTF-8来实现。

当然也有很多小伙伴用的是spring4.3之前的版本,由于之前版本对于json的处理使用的是MappingJacksonHttpMessageConverter小编没下载源码,所以没有去研究,但是对于返回值为String类型的处理方式没有变。

最新文章

  1. 3、NAT
  2. code vs1506传话(塔尖)+tarjan图文详解
  3. 【转载】C++ 与“类”有关的注意事项总结(十二):按成员初始化 与 按成员赋值
  4. nRF51822之WDT浅析
  5. codevs 1203 判断浮点数是否相等
  6. C++之路进阶——codevs4655(序列终结者)
  7. 【leetcode❤python】 19. Remove Nth Node From End of List
  8. js及jQuery实现checkbox的全选、反选和全不选
  9. 那些年优秀的HTML5活动页面
  10. Asp.net MVC利用Ajax.BeginForm实现bootstrap模态框弹出,并进行前段验证
  11. 用css实现3D立方体旋转特效
  12. 国家语言,语言代码,locale id对应表
  13. Spark Submitting Applications浅析
  14. magento开发手册之目录结构
  15. How to resize or create a thumbnail image from file stream on UWP
  16. Unity关于方法事件生命周期官方文档
  17. dubbo注册中心介绍
  18. 【转】java中&amp;和&amp;&amp;的区别和联系
  19. 理解Java异常处理机制的机理
  20. CSU 2151 集训难度【多标记线段树】

热门文章

  1. Spring Boot 启动过程及 自定义 Listener等组件
  2. ELF文件解析(二):ELF header详解
  3. C# 密封类使用sealed修饰
  4. elasticsearch 单机多实例
  5. SpringMVC使用Burlap发布远程服务
  6. W-GAN系 (Wasserstein GAN、 Improved WGAN)
  7. python2和3使用pip时的问题
  8. UML和模式应用4:初始阶段(6)--迭代方法中如何使用用例
  9. Hacker学习发展流程图
  10. windows Tomcat apr安装