0
我用Java编写了一个简单的服务器,但是我遇到了问题。负责发送响应浏览器的代码如下所示:我向浏览器发送消息,但浏览器只接收其中一部分
PrintWriter out = new PrintWriter(new OutputStreamWriter(this._client.getOutputStream(), StandardCharsets.UTF_8), true);
out.write("HTTP/1.1 200 OK\n");
out.write("Access-Control-Allow-Origin: *\n");
out.write("Access-Control-Allow-Headers *\n");
out.write("Content-Type: application/xhtml+xml; charset=utf-8\n");
out.write("Accept-Encoding: UTF-8\n");
out.write("Content-Length: " + message.length() + "\n");
out.write("\n");
out.write(message);
out.flush();
的消息变量包含一个JSON字符串。当我想回到一个简单的字符串只包含ASCII字符它的确定 - 浏览器得到的一切:
{"data":[{"name":"{\"nick\":\"abc\",\"message\":\"czesc\"}","event":"message"}],"id":"cb822555313d73a697e5f908b1f21fff5eb85fedf062f301a4932d9547c1d266"}
但当消息有波兰语字符,例如:
{"data":[{"name":"{\"nick\":\"abc\",\"message\":\"cześć\"}","event":"message"}],"id":"cb822555313d73a697e5f908b1f21fff5eb85fedf062f301a4932d9547c1d266"}
浏览器只收到这样的:
{"data":[{"name":"{\"nick\":\"abc\",\"message\":\"cześć\"}","event":"message"}],"id":"cb822555313d73a697e5f908b1f21fff5eb85fedf062f301a4932d9547c1d266
正如你看到的是相同的字符串,但没有最后两个字符。
为什么?
好的,但我该怎么办呢? – Simon 2014-08-31 13:07:37