系统间通过 Http 调用造成中文乱码
原因产生
- 编码格式不一致,需要使用 UTF-8 的编码格式
问题解决
第一种
- 请求头添加 Accept-Charset 为 UTF-8
第二种(适用范围很广,可以具体到单个对象属性)
- 可以使用 Java 自带的 URLEncoder、URLDecoder,对中文进行编码和解码,这种方式对文件名乱码,尤其有效。
例如 A 系统向 B 系统发起 Http 请求
1.A系统的中文通过 java.net.URLEncoder#encode() 编码
2.B系统的中文通过 java.net.URLDecoder#decode() 解码