1

我有以下情况:

JSP -> Servlet -> ServiceAPI -> 服务 Servlet

我在 JSP 页面中输入了一些西里尔符号,这是场景的开始。在下一步,Servlet 中,我从 JSP 中以 UTF-8 格式读取数据。所以,太好了。一切都好。

然后我将数据传递给 ServiceAPI,后者将其发送给 Service Servlet。问题来了。Service Servlet 中的数据读取为'??????'。所以,我想问题出在服务 API 中,它没有正确发送数据。ServiceAPI 实现使用 Apache Http Client 将数据发送到 Service Servlet。

正如我在 Apache Http Client 文档 (http://hc.apache.org/httpclient-3.x/preference-api.html#HTTP_method_parameters) 中所读到的,有一种方法可以在请求中设置字符编码。但是由于以下错误,我无法应用它:“访问限制:由于对所需库的限制,无法访问 HttpParams 类型的方法 setParameter(String, Object) ...”。所以我有点卡住了。您是否知道问题是否真的出在 Apache Http Client 中,我该如何解决。

提前致谢。

4

1 回答 1

-1

在 Web 应用程序中正确实现字符编码包括 4 个步骤

1.首先你必须配置你的网络服务器。

2.然后您必须强制您的网络应用程序对所有请求/响应使用 UTF-8 编码。

3.第三你必须使用JSP页面编码。

4.最后你必须使用 HMTL-meta 标签。

在您的情况下,问题很可能出在第 2 步 IMO

这是适合您的完美文章如何让 UTF-8 在 Java webapps 中工作?描述了如何广泛地做所有这些

于 2012-09-04T08:07:29.173 回答