服务端为JSP,客户端为Android。未将服务端发布时,在程序里数据能正常插入到mysql,发布后,数据使用socket通信传递,然后传中文出现乱码了。如果我把思路理清一些的话,应该很快能找到问题所在并解决问题的,可是啊!!!终究还是浪费了好多时间去解决。
解决方法,在服务端和客户端传输的时候都加上一个编码指定,我的是utf-8。
服务端:
public static final String bm="utf-8"; //全局定义,以适应系统其他部分
BufferedReader in = new BufferedReader(new InputStreamReader(
process.getInputStream(),bm));
PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(process.getOutputStream(),bm)),true);
客户端:
public static final String bm="utf-8"; //全局定义,以适应系统其他部分
PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(client.getOutputStream(),bm)),true);
BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream(),bm));
参考文章:
http://blog.sina.com.cn/s/blog_49f485700100qdt2.html
http://www.2cto.com/kf/201209/155337.html
socket通信传递中文出现乱码,布布扣,bubuko.com
socket通信传递中文出现乱码
原文:http://blog.csdn.net/ssyyyyzzss/article/details/21811507