问题描述:
在使用Socket时,经常会遇到中文显示乱码问题。
解决方法:
1.用PrintWriter来向socket写数据时,创建OutputStreamWriter时带上编码类型:
//写socket
OutputStream outputToSocket = socket.getOutputStream();
PrintWriter streamWriter = new PrintWriter(new OutputStreamWriter(
outputToSocket, "utf-8"));
写socket时直接
streamWriter.write(str);
或者
streamWriter.println(line);
就可以了。
2.直接通过OutputStream.write方法写数据:
socket.getOutputStream().write(str.getBytes("UTF-8"));