diff --git a/mpinsdk/src/main/java/com/miracl/mpinsdk/net/HTTPConnector.java b/mpinsdk/src/main/java/com/miracl/mpinsdk/net/HTTPConnector.java
index ddbbb08..fd13b5c 100644
--- a/mpinsdk/src/main/java/com/miracl/mpinsdk/net/HTTPConnector.java
+++ b/mpinsdk/src/main/java/com/miracl/mpinsdk/net/HTTPConnector.java
@@ -22,11 +22,13 @@
 import android.net.Uri;
 import android.text.TextUtils;
 
+import java.io.BufferedWriter;
 import java.io.DataOutputStream;
 import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
+import java.io.OutputStreamWriter;
 import java.net.HttpURLConnection;
 import java.net.MalformedURLException;
 import java.net.URL;
@@ -137,7 +139,9 @@
 
             if (!TextUtils.isEmpty(requestBody)) {
                 dos = new DataOutputStream(connection.getOutputStream());
-                dos.writeBytes(requestBody);
+                BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(dos, "UTF-8"));
+                writer.write(requestBody);
+                writer.close();
             }
 
             // Starts the query
