如果服务器是windows平台,而android内核是linux,跨平台的通信必然会导致乱码的问题,解决方案如下:
在服务端:
// 以GB2312编码方式输出到客户端
outputStream.write("服务端输出信息".getBytes("GB2312"));
在客户端:
// 以服务端的GB2312编码格式接收信息
BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream(),"GB2312"));
// 再转换成linux平台的utf-8编码格式
String result = new String(reader.readLine().getBytes(), "utf-8");