数据请求传递中文时乱码:
Android 在提交数据包含中文,传到后台时变成乱码:
解决方案:
在客户端转码:
URLEncoder.encode(s,"utf-8");
在服务端解码:
URLDecoder.decode(s, "utf-8");
测试:
public class Test {
public static void main(String[] args){
String str = "李四";
String str1 = "%E5%BC%A0%E4%B8%89";
System.out.println("转码前:"+str+"\n转码后:"+encode(str));
System.out.println("===================");
System.out.println("解码前:"+str1+"\n解码后:"+decode(str1));
}
/**android 传递的中文数据 解码*/
private static String decode(String s){
try {
s = URLDecoder.decode(s, "utf-8");
return s;
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
return s;
}
}
/**android 传递的中文数据 转码*/
private static String encode(String s){
try {
s = URLEncoder.encode(s, "utf-8");
return s;
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
return s;
}
}
}