spring MappingJackson2HttpMessageConverter 乱码问题说明:spring
application/json ;charset=GBK 指定MediaType(坑)json
坑:跟踪代码发现,Spring使用的Jackson jar 包支持编码格式只有UTF-8,UTF-16,UTF-32,当指定的编码格式匹配不到时默认使用UTF-8,此处GBK不会生效。app
Spring使用默认的UTF-8编码,但因为mediaType使用指定application/json ;charset=GBK客户端解码根据回复消息包头里指定的GBK进行解码,那么必定会是乱码。编码
结论:MappingJackson2HttpMessageConverter 没法返回GBK编码orm
Spring默认配置状况下,按顺序加载如下转换器(具体含义见spring文档HTTP Message Conversion 章节)文档
StringHttpMessageConverterio
FormHttpMessageConverter乱码
ByteArrayHttpMessageConverter配置
MarshallingHttpMessageConverter客户端
MappingJackson2HttpMessageConverter
SourceHttpMessageConverter
BufferedImageHttpMessageConverter