完美解决Multipart EntityBuilder.addtextbody && http entity中文乱码
2016-09-16 23:13
302 查看
事件背景:本人新人一枚,昨天debug,公司要做个本地测试功能,测试服务器及APP抗压能力,写了一段代码调用网站接口,但坑爹的是我使用HttpPost请求模拟移动端向服务器请求数据,纯英文请求完美通过,只要一涉及到中文请求,就是各种问号(乱码),各种招都用了,这乱码就是改不掉,改了2天,总算搞定了。
网上关于解决MultipartEntityBuilder.addtextbody中文乱码的有很多,但我基本上试遍了,就是无法解决。
比如网上有说使用addPart+ StringBody代替addTextBody,解决中文乱码的
// builder.addTextBody(entry.getKey(), entry.getValue());
ContentType contentType = ContentType.create(HTTP.PLAIN_TEXT_TYPE, HTTP.UTF_8);
StringBody stringBody = new StringBody(entry.getValue(),contentType);
builder.addPart(entry.getKey(), stringBody);
这个方法以前或许成立但现在就不行了,HTTP.PLAIN_TEXT_TYPE和HTTP.UTF_8两个属性过时,使用后无效果。
有这么用的
加上这么一行好了...
网上关于解决MultipartEntityBuilder.addtextbody中文乱码的有很多,但我基本上试遍了,就是无法解决。
比如网上有说使用addPart+ StringBody代替addTextBody,解决中文乱码的
// builder.addTextBody(entry.getKey(), entry.getValue());
ContentType contentType = ContentType.create(HTTP.PLAIN_TEXT_TYPE, HTTP.UTF_8);
StringBody stringBody = new StringBody(entry.getValue(),contentType);
builder.addPart(entry.getKey(), stringBody);
这个方法以前或许成立但现在就不行了,HTTP.PLAIN_TEXT_TYPE和HTTP.UTF_8两个属性过时,使用后无效果。
有这么用的
stringEntity.setContentEncoding(
"utf-8"
) 照样没用。
UrlEncodedFormEntity formEntity = new UrlEncodedFormEntity(valuePairs, "utf-8");
这个可以解决非MultipartEntityBuilder类型上传的乱码问题。
折腾2天,发现可以这么解决: ContentType contentType = ContentType.create("text/plain",Charset.forName("UTF-8")); HttpEntity caiJiEntity= MultipartEntityBuilder.create() .addBinaryBody("file", new File("d://2.mp4"), ContentType.create("video/mp4"), "2.mp4")
.addBinaryBody("file1",new File("d:/1-120915094151.jpg"),
ContentType.create("image/jpg"), "1-120915094151.jpg")
.addTextBody("mtxs", "三面立柱",contentType)
.build();...
加上这么一行好了...
相关文章推荐
- MultipartEntityBuilder.addTextBody 中文乱码
- MultipartEntityBuilder.addTextBody 中文乱码
- 解决Response.AddHeader("Content-Disposition", "attachment; filename=" + file.Name) 中文显示乱码
- 页面编码为GBK时 jquery 提交ajax数据完美解决"中文乱码"方案
- MultipartEntityBuilder 向服务器发送中文乱码的问题
- HTTPCLIENT MultipartEntity 上传中文乱码
- 页面编码为GBK时 jquery 提交ajax数据完美解决"中文乱码"方案
- 完美解决由NSURLConnection或者ASIHttpRequest返回的中文乱码问题。
- 完美解决QT->setText()中文乱码问题
- 完美解决PHP中文乱码问题
- php在线生成pdf中文乱码完美解决``
- 完美解决PHP中文乱码问题
- 完美解决PHP中文乱码
- 使用request.setCharacterEncoding("gb2312")解决中文乱码的注意事项
- AJAX中文乱码PHP完美解决
- XMLHttpRequest进行ajax通讯时中文乱码问题解决
- httpClient中文乱码问题解决(wap提交)收藏
- AJAX中文乱码PHP完美解决
- php在线生成pdf中文乱码完美解决``
- Indy TIDHttp与TIdMultiPartFormDataStream “"Range check error"解决