2012-10-29 10 views
5

Chcę ustawić kodowanie UTF-8 podczas wysyłania plików w FileBody tak jak robię to w StringBuilderze. Robię to tak:Kodowanie UTF-8 z FileBody w MultipartEntity

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

i działa poprawnie, jeśli wysyłam inne niż kodowanie wiadomości UTF-8. Ale jeśli robię tak:

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

serwer otrzymuje nazwy plików nie w UTF-8. Jak mogę to naprawić?

Odpowiedz

8

rozwiązać ten problem po prostu poprzez:

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

rozwiązać ten problem, należy przez to params:

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