问题描述:
在使用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"));
本文介绍了解决Socket通信中出现的中文乱码问题的方法。主要提供了两种解决方案:一是使用PrintWriter进行输出时指定UTF-8编码;二是直接利用OutputStream.write方法,并确保字符串以UTF-8编码转换为字节数组。
1399

被折叠的 条评论
为什么被折叠?



