33import java .io .File ;
44import java .io .IOException ;
55import java .io .InputStream ;
6+ import java .nio .charset .Charset ;
67import java .util .Collection ;
78import java .util .Map ;
89
@@ -58,18 +59,19 @@ public Map callApi(String action, Map<String, Object> params, Map options, Objec
5859
5960 HttpPost postMethod = new HttpPost (apiUrl );
6061 postMethod .setHeader ("User-Agent" , Cloudinary .USER_AGENT );
62+ Charset utf8 = Charset .forName ("UTF-8" );
6163
6264 MultipartEntity multipart = new MultipartEntity (HttpMultipartMode .BROWSER_COMPATIBLE );
6365 // Remove blank parameters
6466 for (Map .Entry <String , Object > param : params .entrySet ()) {
6567 if (param .getValue () instanceof Collection ) {
6668 for (Object value : (Collection ) param .getValue ()) {
67- multipart .addPart (param .getKey () + "[]" , new StringBody (ObjectUtils .asString (value )));
69+ multipart .addPart (param .getKey () + "[]" , new StringBody (ObjectUtils .asString (value ), utf8 ));
6870 }
6971 } else {
7072 String value = param .getValue ().toString ();
7173 if (StringUtils .isNotBlank (value )) {
72- multipart .addPart (param .getKey (), new StringBody (value ));
74+ multipart .addPart (param .getKey (), new StringBody (value , utf8 ));
7375 }
7476 }
7577 }
@@ -80,7 +82,7 @@ public Map callApi(String action, Map<String, Object> params, Map options, Objec
8082 if (file instanceof File ) {
8183 multipart .addPart ("file" , new FileBody ((File ) file ));
8284 } else if (file instanceof String ) {
83- multipart .addPart ("file" , new StringBody ((String ) file ));
85+ multipart .addPart ("file" , new StringBody ((String ) file , utf8 ));
8486 } else if (file instanceof byte []) {
8587 multipart .addPart ("file" , new ByteArrayBody ((byte []) file , "file" ));
8688 } else if (file == null ) {
0 commit comments