4

我在 Tomcat 6.0.32 上运行基于 GWT 的 Web 应用程序。

我无法让包含非 BMP 字符(这些字符存在于文件名中)的 URL 正常工作。任何包含 3 字节或更少字符的 URL 都可以正常运行。

例如:文件名是 .txt - 当 URL 编码为 UTF-8 时,它是 %F0%A5%A7%84.txt

http://localhost:8080/foo/bar/%F0%A5%A7%84.txt?param1=x&param2=y无法找到该特定视图

但是,如果文件名是犬.txt - 当 URL 编码为 UTF-8 时,它是 %E7%8A%AC.txt -

http://localhost:8080/foo/bar/%E7%8A%AC.txt?param1=x&param2=y视图位置正确。

我在 Tomcat 中设置了 server.xml,以便在 Windows XP 机器上使用 URIEncoding=UTF-8。

有谁知道 Tomcat 6 中关于非 BMP 字符解码的当前限制?

4

1 回答 1

1

几年前有一些工作来解决剩余的编码问题(回到 Tomcat 4 天),因此所有当前的 Tomcat 版本都应该正确处理任何 UTF-8 字符的解码,前提是 URIEncoding="UTF-8" 设置为连接器。

如果不是,则可能的原因(按可能性顺序排列): - Tomcat 配置问题(看起来您已排序) - 应用程序问题 - 操作系统/文件系统配置/问题 - Tomcat 错误

如果您确定这是一个 Tomcat 错误,请报告它,有人会看一看。

于 2012-03-29T20:51:56.010 回答