最近在Spring里使用HttpClient post遇到中文乱码问题,我的data数据里面有中文
PostMethod postMethod = new PostMethod(url);
NameValuePair[] pairs ={
new NameValuePair("version",VERSION),
new NameValuePair("token",TOKEN),
new NameValuePair("data",data)};
postMethod.setRequestBody(pairs);
当使用另外一个Controller接收之后,data里的有中文的地方都成了问号
通过查找相关资料发现:相关资料链接
按照 ISO-8859-1 编码
字符串“I am 君山”用 ISO-8859-1 编码,下面是编码结果:
从上图看出 7 个 char 字符经过 ISO-8859-1 编码转变成 7 个 byte 数组,ISO-8859-1 是单字节编码,中文“君山”

在Spring中使用HttpClient POST时遇到中文乱码问题,原因为数据被误用ISO-8859-1编码。文章分析了ISO-8859-1编码对中文字符的处理,指出其可能导致“?”字符的出现。HttpClient默认使用ISO-8859-1,需通过设置Content-Type头为UTF-8来避免乱码,最终采用UTF-8编码解决了问题。
最低0.47元/天 解锁文章
548





