私はアンドロイドデバイスでhttpserviceを持っています。それは、いくつかのブラウザにHTMLページとしての応答を形成します。だからうまく動作しますが、他の言語(例えばロシア語)を使用すると、サーバーはロシア語の記号ではなく読みにくいテキストを返します。私はAndroidでのデフォルトのエンコーディングはUTF-8であることを知っています。私はAndroid上で利用可能なすべてのエンコーディングを試しました(例えばwindows-1251、Big5(中国語)、UTF-16など)が、間違った結果を返しました。ここで私が何をしようとしたものをお見せいくつかのコードは次のとおりです。Androidに適切なエンコーディングがありません
@Override
public void handle(HttpRequest request, HttpResponse response, HttpContext httpContext) throws HttpException, IOException {
HttpEntity entity = new EntityTemplate(new ContentProducer() {
public void writeTo(final OutputStream outstream) throws IOException {
OutputStreamWriter writer = new OutputStreamWriter(outstream, "windows-1251");
String resp = "<html><body>Hello Привет</body></html>";
StringEntity se = new StringEntity(resp, "windows-1251");
se.writeTo(outstream);
//writer.write(resp);
//writer.flush();
}
});
response.setHeader("Context-Type", "text/html");
response.setEntity(entity);
}
ので、ブラウザで私は次を参照:
Hello Привет
私が間違って何?私に答えてください。 私は何か提案があれば感謝します。ありがとう。
サーバがutf-8を正しくサポートしていない可能性がありますか? – Demonick