在我的服务器代码中:
pw = new PrintWriter(stream);
br = new BufferedReader(new InputStreamReader(
socket.getInputStream(), "UTF-8"));
在我的客户端代码中
BufferedReader br = new BufferedReader(new InputStreamReader(
clientSocket.getInputStream(), "UTF-8"));
OutputStreamWriter stream = new OutputStreamWriter(clientSocket.getOutputStream(), "UTF-8");
PrintWriter pw = new PrintWriter(stream);
然后 首先,服务器使用: pw.println( “OK”); pw.flush();
客户端收到确定
之后,服务器使用:
pw.println("TRUE")
pw.flush();
这次,客户端收到一个包含unknow char的字符串
\ufffd\ufffdTRUE
然后我继续向客户端发送消息,它会在每个句子之前收到一些\ ufffd。
有人可以帮我解决问题吗?
答案 0 :(得分:0)
我可以想象服务器重新发送字节顺序标记(0xFFFE 0xFFFF),它们被客户端的替换字符(0xFFFD)替换。
在每次发送服务器端之前重新创建打印编写器吗?