我在 android 设备上有 httpservice。它形成对某些浏览器的 html 页面的响应。所以它工作正常,但如果我使用其他语言(例如俄语),服务器会返回不可读的文本而不是俄语符号。我知道 Android 上的默认编码是 UTF-8。我已经尝试了 Android 上可用的所有编码(例如 windows-1251、Big5(中文)、UTF-16 等),但它完全返回了错误的结果。这是一些代码,向您展示了我尝试做的事情:
@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 Привет
我错了什么?请回答我。我会很感激任何建议。谢谢。