私はJavaで簡単なHTTPサーバーを作成しました。私はブラウザにデータを返すことに問題があります。BufferedWriterの非英語の文字
this.writer = new BufferedWriter(new OutputStreamWriter(this.socket.getOutputStream(), Charset.forName("UTF-8").newEncoder()));
...
writer.write(this.getResponseLine() + "\n");
writer.write("Content-Type: " + this.contentType + "; charset=utf-8\n");
writer.write("Content-Length: " + this.body.length() + "\n");
writer.write("\r\n");
writer.write(new String(this.body.getBytes(), "UTF-8"));
writer.flush();
writer.flush();
方法this.body.getBytes()を返す "Witajのświecieを" が、ブラウワーに "Witajświeci"(最後の文字が欠け)のみです:
これは、返されたコンテンツを記述します。
問題はどこですか?
おそらく '¶'の長さに関係しています。文字列に2つの '¶'があるとすれば、代わりに2つの文字が欠けていると思いますか? –