前言

关于springboot乱码的问题,之前有文章已经介绍过了,这一篇算是作为补充,重点解决对象在序列化过程中出现的中文乱码的问题,以及后台报500的错误。

问题描述

  • spring Boot 中文返回给浏览器乱码 解析成问号?? fastJson jackJson

  • spring boot 新增配置解决后台返回 json 到前台中文乱码之后,出现返回json数据报错:no convertter for return value of type

  • 注释掉解决中文乱码的问题之后返回对象json正常

解决中文乱码的配置

  1. @Configuration
  2. @EnableWebMvc
  3. @ComponentScan
  4. public class MvcConfiguration extends WebMvcConfigurerAdapter {
  5.    @Bean
  6.    public HttpMessageConverter<String> responseBodyConverter(){
  7.        StringHttpMessageConverter converter = new StringHttpMessageConverter(Charset.forName("UTF-8"));
  8.        return converter;
  9.    }
  10.    @Override
  11.    public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
  12.        super.configureMessageConverters(converters);
  13.        //解决中文乱码
  14.        converters.add(responseBodyConverter());
  15.        //解决 添加解决中文乱码后 上述配置之后,返回json数据直接报错 500:no convertter for return value of type
  16.        converters.add(messageConverter());
  17.    }
  18. }

除了上述配置之后还有添加MappingJackson2HttpMessageConverter

  1. @Bean
  2.    public MappingJackson2HttpMessageConverter messageConverter() {
  3.        MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
  4.        converter.setObjectMapper(getObjectMapper());
  5.        return converter;
  6.    }

注意:responseBodyConverter和MappingJackson2HttpMessageConverter如果分开配置要确保前者不被覆盖,不然就会出现返回springboot返回json正常,但是返回中文乱码,或者返回中文不乱吗,但是返回对象或者json异常。

解决springboot范湖中文乱码和返回json 500错误的完整代码

  1. /**
  2. * spring boot 解决后台返回 json 到前台出现中文乱码的问题
  3. */
  4. @Configuration
  5. @EnableWebMvc
  6. @ComponentScan
  7. public class MvcConfiguration extends WebMvcConfigurerAdapter {
  8.    @Bean
  9.    public HttpMessageConverter<String> responseBodyConverter(){
  10.        StringHttpMessageConverter converter = new StringHttpMessageConverter(Charset.forName("UTF-8"));
  11.        return converter;
  12.    }
  13.    @Bean
  14.    public ObjectMapper getObjectMapper() {
  15.        return new ObjectMapper();
  16.    }
  17.    @Bean
  18.    public MappingJackson2HttpMessageConverter messageConverter() {
  19.        MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
  20.        converter.setObjectMapper(getObjectMapper());
  21.        return converter;
  22.    }
  23.    @Override
  24.    public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
  25.        super.configureMessageConverters(converters);
  26.        //解决中文乱码
  27.        converters.add(responseBodyConverter());
  28.        //解决 添加解决中文乱码后 上述配置之后,返回json数据直接报错 500:no convertter for return value of type
  29.        converters.add(messageConverter());
  30.    }
  31. }

解决springboot序列化 json数据到前端中文乱码问题的更多相关文章

  1. 【原创】@ResponseBody返回json数据时出现中文乱码

    ι 版权声明:本文为博主原创文章,未经博主允许不得转载. 原因: Spring中解析字符串的转换器默认编码格式是ISO-8859-1 public class StringHttpMessageCon ...

  2. 解决SpringBoot项目中Thymeleaf模板的中文乱码问题

    1.使用IDEA创建SpringBoot项目 package com.example.demo; import org.springframework.boot.SpringApplication; ...

  3. 用easyui从servlet传递json数据到前端页面的两种方法

    用easyui从servlet传递json数据到前端页面的两种方法 两种方法获取的数据在servlet层传递的方法相同,下面为Servlet中代码,以查询表中所有信息为例. //重写doGet方法 p ...

  4. mvc 使用Newtonsoft.Json进行序列化json数据

    mvc 使用Newtonsoft.Json进行序列化json数据 JsonResult  使用js 序列号化,先集成扩展.使用newtonsoft http://blog.csdn.net/zhang ...

  5. (转)MySQL 插入数据时,中文乱码问题的解决

    MySQL 插入数据时,中文乱码问题的解决  原文:http://www.cnblogs.com/sunzn/archive/2013/03/14/2960248.html 当向 MySQL 数据库插 ...

  6. 解决loadrunner 脚本和replaylog中的中文乱码问题

    解决loadrunner 脚本和replaylog中的中文乱码问题 解决这个问题必须认识到一个事实就是,loadrunner和测试服务器交换数据使用的是utf8格式,但是展现在replaylog中是使 ...

  7. 解决ubuntu中zip解压的中文乱码问题

    转自解决ubuntu中zip解压的中文乱码问题 在我的ubuntu12.10中,发现显示中文基本都是正常的,只有在解压windows传过来的zip文件时,才会出现乱码.所以,我用另一个方法解决中文乱码 ...

  8. php函数:解决数组转对象时数组内中文乱码问题

    function to_urlencode(&$arr){//解决数组转对象时数组内中文乱码问题 foreach($arr as $key => $value){ if(is_array ...

  9. 解决docker容器中Centos7系统的中文乱码

    解决docker容器中Centos7系统的中文乱码问题有如下两种方案: 第一种只能临时解决中文乱码: 在命令行中执行如下命令: # localedef -i zh_CN -f UTF-8 zh_CN. ...

随机推荐

  1. CANN5.0黑科技解密 | 别眨眼!缩小隧道,让你的AI模型“身轻如燕”!

    摘要:CANN作为释放昇腾硬件算力的关键平台,通过深耕先进的模型压缩技术,聚力打造AMCT模型压缩工具,在保证模型精度前提下,不遗余力地降低模型的存储空间和计算量. 随着深度学习的发展,推理模型巨大的 ...

  2. 使用Magisk+riru实现全局改机

    前言 提到全局改机,我们想到修改的不是修改Android源码就是利用Xposed改机,前者成本太高,后者只能修改Java层的数据不够彻底.magisk是Android平台上功能强大的工具,利用它可以随 ...

  3. vue 插槽slot总结 slot看这篇就够了

    一直模糊所以梳理一下,看了好多篇园友的文章和官网文档在这整理一下 默认插槽 //slot组件<template> <div class="slots"> s ...

  4. Java测试开发--Maven用法(三)

    一.Maven简介 Maven 是java项目构建工具,统一包的管理,统一项目管理.项目编译,测试打包.部署. 二.Maven工程搭建: 1.新建maven工程,如下图 2. 新建工程后,jdk使用的 ...

  5. sqlalchemy mysql server has gone

    mixing multiprocessing and SQLAlchemy is a bad idea. In general your processes should each contain a ...

  6. CodeGuide 300+文档、100+代码库,一个指导程序员写代码的,Github 仓库开源啦!

    作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.路怎样走,让你们自己挑 B站 视频:https://www.bilibili.com/vi ...

  7. dotNET5的MVC页面传值方式总结

    本文大致讲解mvc前后端的传值方式,包括control向view.view向control.以及action向action. 一.经典回顾 二.Controller向View传值 1. ViewBag ...

  8. Prometheus+Grafana监控Kubernetes

    涉及文件下载地址:链接:https://pan.baidu.com/s/18XHK7ex_J0rzTtfW-QA2eA 密码:0qn6 文件中需要下载的镜像需要自己提前下载好,eg:prom/node ...

  9. 分享一下Eclipse中节省时间的技巧吧

    [初级技巧] ★★ 鼠标放在一个类名上面,会显示Javadoc.也可以通过屏幕下方的Javadoc面板来查看(你可以把它看成是MSDN的Java版). ★ 每个函数的第一行,左边有个圆圈,单击这个圆圈 ...

  10. Java设计模式之(五)——代理模式

    1.什么是代理模式 Provide a surrogate or placeholder for another object to control access to it. Proxy Patte ...