由安卓端发送带数据的请求,
服务器接收 json及解析都是正确的,
在返回 android 端之前控制台输出的也是正确的
到 android 端就乱码了
(本程序在英文状态下能正常显示使用,程序没问题)
(1. 发送请求前)
(2. )
(3. 数据在服务器)
(4. 安卓端再获取)
部分处理代码,未成功解决问题
JSONArray userarr = new JSONArray(userjson);
JSONObject userobj = userarr.getJSONObject(0);
byte[] byte1 = userobj.getString("gender").getBytes();
String str1 = new String(byte1,"utf-8");
Log.i(tag,"CLS: str1:"+str1+"$$$");
String str4 = new String(byte1,"gbk");
Log.i(tag,"CLS: str4:"+str4+"$$$");
String str5 = new String(byte1,"gb2312");
Log.i(tag,"CLS: str5:"+str5+"$$$");
String gender2 = userobj.getString("gender");
String str2 = new String(gender2.getBytes("utf-8"),"gbk");
Log.i(tag,"CLS: str2:"+str2+"$$$");
String str3 = new String(gender2.getBytes("utf-8"),"utf-8");
Log.i(tag,"CLS: str3:"+str3+"$$$");
/*********************/
/*****************************/
String gender = userobj.getString("gender");
String _gender = new String(gender.getBytes("iso-8859-1"),"gbk"); //编码解决3
byte[] bytes = gender.getBytes();
String str = new String(bytes, "gb2312"); //编码解决4
Log.i(tag,"CLS: _gender:"+_gender+"$$$");
Log.i(tag,"CLS: str:"+str+"$$$");
对应结果: