java - servlet request.getParameters非英文字符求助!

标签 java unicode utf-8 servlets

<分区>

我迫切需要帮助。

我有一个 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/

相关文章:

utf-8 - FlameRobin 在插入变音符号时是否有问题?

java - 没有这样的方法错误:

java - Jersey 通用类型的编码

java - 基于 XML 配置来连接带注释的类中的依赖关系?

java - Hibernate 缓存导致@Cacheable 实体的低百分比性能下降?

python - 如何处理查询参数编码?

postgresql - 如何在 PostgreSQL 数据库中处理多种人类语言?

python - 更改包含重音和本地字母的 unicode 字符串中字母的大小写

java - 在 Java 中实现字符编码

android - Java Android - 解密字节数组 255 字节长而不是 "Hello World!".length