我使用下面的代码将数据发送到服务器。 但是当我发送数据时,mysql中的数据是???。如何将数据发送到utf 8?
private void sendDataToDataBase(final String fperson,final String lperson){
RequestQueue queue = MyVolley.getRequestQueue();
StringRequest myReq = new StringRequest(Method.POST,
"mylink",
createMyReqSuccessListener(),
createMyReqErrorListener()) {
protected Map<String, String> getParams() throws com.android.volley.AuthFailureError {
Map<String, String> params = new HashMap<String, String>();
params.put("fname", fperson);
params.put("lname", lperson);
return params;
};
};
queue.add(myReq);
}
答案 0 :(得分:2)
我自己用来将包含utf-8字符串的数据上传到服务器的一个解决方案(不仅包括Volley,还包括其他库)是将其编码为Base64,然后在服务器中对其进行解码。这样我就可以确保将确切的数据传递给服务器。
这是我用于编码的代码:
data = str.getBytes("UTF-8");
reqBase64 = Base64.encodeToString(data, Base64.DEFAULT);