问题描述
|
在我的服务器代码中:
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();
这次,客户端收到一个字符串,该字符串具有不知道的字符
\\ufffd\\ufffdTRUE
然后我继续向客户端发送消息,它将在每个句子之前收到一些\\ ufffd。
有人可以帮我解决问题吗?
解决方法
我可以想象服务器重新发送字节顺序标记(0xFFFE 0xFFFF),这些标记在客户端被替换字符(0xFFFD)取代。
您是否在服务器端每次发送之前重新创建打印编写器?