gpt4 book ai didi

java - servlet 和 apache HttpClient 的 UTF-8 编码问题

转载 作者:行者123 更新时间:2023-12-03 02:33:28 24 4
gpt4 key购买 nike

我有一个 servlet,它发送一个 utf-8 编码的字符串。我还有一个用 apache httpcomponents 库编写的客户端。

我的问题是读取 utf-8 格式的响应。某些特殊字符(如 ñ 或 ç)无法正确读取。如果我用发送请求的html页面测试服务器,字符串是正确的,并且编码是UTF-8无BOM。

一些片段:Servlet

response.setContentType ("application/json; charset=UTF-8");
PrintWriter out = response.getWriter ();
out.write (string);

客户端

entity = response.getEntity ();
entity.getContentEncoding (); //returns null
resultado = EntityUtils.toString (entity, HTTP.UTF_8); //Some characters are wrong

有人遇到同样的问题吗?

已解决:抱歉,客户端和服务器工作正常。我正在编写一个 Android 应用程序,似乎 logcat(我打印消息的地方)不支持 utf-8 编码。

最佳答案

你试过吗

response.setCharacterEncoding("utf-8");

而不是通过setContentType设置编码?根据文档,它不应该产生任何影响,但谁知道......

此外,请确保在设置字符编码之前没有在代码中的任何位置调用 response.getWriter(),因为后者在这种情况下不会产生任何效果。

关于java - servlet 和 apache HttpClient 的 UTF-8 编码问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4444796/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com