在MultipartEntity中使用FileBody进行UTF-8编码

时间:2012-10-29 17:05:36

标签: android multipartentity

我希望在FileBody中发送文件时设置UTF-8编码,就像在StringBuilder中一样。我是这样做的:

restClient.AddEntity("body", new StringBody(body, Charset.forName("UTF-8")));

如果我发送不同于UTF-8消息编码,它可以正常工作。但如果我喜欢这样:

ContentBody fbody = new FileBody(( File )file, "application/octet-stream","UTF-8");
        restClient.AddEntity("files[]", fbody);

服务器获取的文件名不是UTF-8。我该如何解决?

2 个答案:

答案 0 :(得分:8)

我简单地通过以下方式解决了这个问题:

MultipartEntity entity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE,null,Charset.forName("UTF-8"));

答案 1 :(得分:2)

我通过这个参数来解决这个问题:

entity.addPart("video_title", new StringBody(edtvideo_title.getText().toString(),Charset.forName(HTTP.UTF_8)));