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\":\"cześć\"}","event":"message"}],"id":"cb822555313d73a697e5f908b1f21fff5eb85fedf062f301a4932d9547c1d266"}
브라우저에만 나타납니다
{"data":[{"name":"{\"nick\":\"abc\",\"message\":\"czesc\"}","event":"message"}],"id":"cb822555313d73a697e5f908b1f21fff5eb85fedf062f301a4932d9547c1d266"}
그러나 메시지 예를 들어 폴란드어 문자를 가질 때 이 :
{"data":[{"name":"{\"nick\":\"abc\",\"message\":\"cześć\"}","event":"message"}],"id":"cb822555313d73a697e5f908b1f21fff5eb85fedf062f301a4932d9547c1d266
같은 문자열이지만 마지막 두 문자는 없습니다.
왜?
그래, 어떻게 할 수 있습니까? – Simon