<分区>
我迫切需要帮助。
我有一个 Java servlet,它由一个带有八个参数的 HTTP Get URL 访问。 问题是这些参数不是英语独有的。 任何其他语言都可以在这些参数中,例如希伯来语。
现在,当我发送数据时——无论是从应该发送 Get 请求的类还是简单地从浏览器的地址栏,我在调试 (Netbeans) 中看到的查询都有乱码字符和参数本身,发布request.getParameter 是????问号。
我应该如何或在哪里解决这个问题?
<分区>
我迫切需要帮助。
我有一个 Java servlet,它由一个带有八个参数的 HTTP Get URL 访问。 问题是这些参数不是英语独有的。 任何其他语言都可以在这些参数中,例如希伯来语。
现在,当我发送数据时——无论是从应该发送 Get 请求的类还是简单地从浏览器的地址栏,我在调试 (Netbeans) 中看到的查询都有乱码字符和参数本身,发布request.getParameter 是????问号。
我应该如何或在哪里解决这个问题?
最佳答案
在您的 servlet 引擎中应该有一个设置来控制用于 URL 参数的字符编码。要支持所有语言,UTF-8 编码是一个不错的选择——但这并不是许多服务器的默认编码。
Tomcat 使用 ISO-8859-1 作为 URL 参数的默认字符解码器,无论包含 URL 的页面的编码如何。这可以通过 "URIEncoding" attribute in its Connector 更改。配置。其他应用服务器可能有类似的设置。
如果服务器需要 UTF-8 编码的参数,则发送它们的页面也应该使用 UTF-8 编码。
This article涵盖了使用 JSP 时经常遇到的许多问题。
关于java - servlet request.getParameters非英文字符求助!,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1422031/