财经联展网_打造成为最具影响力财经信息
您当前的位置 : 财经联展网  >  企业
整理项目里面一些中文乱码的解决方案供大家参考!
2021-03-04 15:38:52 来源:互联网 阅读:-

1 提交到后台中文乱码

原因及解决方案

在web.xml中配置最上面配置字符集过滤器

characterEncodingFilter

org.springframework.web.filter.CharacterEncodingFilter

encoding

UTF-8

forceEncoding

true

characterEncodingFilter

/*

2 JSON乱码

//输入

@RequestMapping(value="/json")

@ResponseBody

public String testMap() {

Map map = new HashMap<>();

map.put("name", "中国");

map.put("age",1);

map.put("sex", "man");

return map.toString();

}

//输出

{sex=man, name=??, age=1}

原因及解决办法

Spring 默认的消息转换器StringHttpMessageConverter 中默认的编码是ISO-8859-1

public class StringHttpMessageConverter extends AbstractHttpMessageConverter {

public static final Charset DEFAULT_CHARSET = Charset.forName("ISO-8859-1");

//.......

}

RequestMapping

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

3 配置xml 消息转换器

当然推荐xml配置的方式配置,一劳永逸,不用再每个方法上写produces。

当然这只是一种MessageConverter的配置。如果@ResponseBody返回的不是String, 而是User对象或Map等结构数据类型时,配置JSON相关的转换器时也需配置字符集。 使用的最新版Spring 4.3.10。发现配置JSON的时候 只有org.springframework.http.converter.json.MappingJackson2HttpMessageConverter 这个转换器了。MappingJacksonHttpMessageConverter 已经被删除了。而且MappingJackson2HttpMessageConverter父类AbstractJackson2HttpMessageConverter中默认字符集就是UTF-8.这就更加方便配置了。只要配置了JSON转换器为MappingJackson2HttpMessageConverter即可。其他属性默认即可。当然为了统一以前的写法,使项目组其他小伙伴更加清晰,建议明确在xml中配置字符集。

4 最终配置

application/json;charset=UTF-8

5 结语

这可能是比较常见的几种情况,若是各位小伙伴有什么其他情况的话,欢迎补充和指正。

推荐阅读:中国风云网

频道推荐
  • 雍和宫、国子监,还有馄饨侯、姚记炒肝,老北京皇城根的味道
    雍和宫、国子监,还有馄饨侯、姚记炒肝,老北京

    说来惭愧,来北京十二年了,一直生活在五环以外,没特别的事,轻易不会进城。以至于,十二年了,都没去好好逛过老北京。而北京本地人又总跟我说,二环以内才是真正的老北京...

    2020-03-18
  • 中国最深湖泊,最深处373米,没有任何植物,却是松花江水流正源
    中国最深湖泊,最深处373米,没有任何植物,

    长白山是我国十分有名的一座山脉,整座山上有东西南北四个坡,而东坡位于朝鲜,所以要想爬长白山的话,只能从其他的三个坡上去。大家都知道,长白山上的天池景色是十分迷人...

    2020-03-18
  • 世界上最美的“宅”!江山入窗戏千年
    世界上最美的“宅”!江山入窗戏千年

    摇曳在塞纳河上的游船提供了另外一种解读巴黎的范式。等到日头落下,点点星光和昏黄色的街灯光芒在河道上晕开柔和的色彩,河轮沿着塞纳河缓缓而行,一侧是雅致大气的奥赛博...

    2020-03-18
  • 传统的江南古镇,不一样的乌镇,可别小瞧它!
    传统的江南古镇,不一样的乌镇,可别小瞧它!

    今天凌星向大家介绍的地方是乌镇,如果此刻的你觉得“不就是乌镇吗”,那你可就小瞧了它。是不是凭借真本事坐上古镇榜排行“第一”的宝座,各位看官你细听分说!影视:似水...

    2020-03-18
  • 春季踏青必去的六条徒步线路,有你向往的江南美景和远方
    春季踏青必去的六条徒步线路,有你向往的江南美

    衢州-仙霞古道仙霞关为中国古代关隘,位于衢州市江山市保安乡南仙霞岭上,地处福建、浙江、江西三省交界处。自古就是兵家必争之地,“东南锁匙,入闽咽喉”。仙霞古道的历...

    2020-03-18
  • 江南一座“活着的千年古镇”,梦里的江南水乡就是这样,你去过吗
    江南一座“活着的千年古镇”,梦里的江南水乡就

    江南往往代表着繁荣的经济和美丽的水乡景象,很久以来,江浙就被称为江南,江南最让人不能忘怀的就是这里的水乡古镇,中国十大水乡古镇都是在江浙一带。西塘古镇论知名度是...

    2020-03-18