spring MappingJackson2HttpMessageConverter GBK 亂碼問題

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

相關文章
相關標籤/搜索