1

因此,URLEncoder 的编码和 URLDecoder 的解码的 javadoc 中包含以下注释:

Note: The World Wide Web Consortium Recommendation states that UTF-8 should be used. Not doing so may introduce incompatibilites."

但是,如果有人使用不同的编码类型发送请求,那么使用 UTF-8 编码不是一个坏主意吗?检查标头(如果存在)并使用其中指定的任何编码有什么问题吗?如果有人可以提供的话,也许这个笔记的更多背景会让它对我更有意义。

4

3 回答 3

1

在同一文档中

推荐使用的编码方案是 UTF-8。但是,出于兼容性原因,如果未指定编码,则使用平台的默认编码。

您可以更改编码,但由于它不符合 W3C,所以这不是一个好主意。


资源 :

于 2010-09-01T17:11:54.137 回答
1

Tomcat 和其他一些 Web 服务器具有单独的设置,用于控制 GET 请求中用于 URL 的解码器。具体来说,Tomcat 将使用服务器的默认字符编码,除非URIEncoding在“连接器”的属性中指定了一个。

当我处理类似的问题时,我发现这篇文章中的讨论很有帮助。

于 2010-09-01T17:12:33.997 回答
1

一些国家的网站确实使用其他编码,因为 UTF-8 对于他们的语言来说效率低下。

URL 通常是不透明的。它是由网站生成并由同一网站使用的 ASCII 字符序列。只要网站本身能解析就可以了。

另一方面,人们确实想研究 URL,试图了解更详细的信息。浏览器在显示一个充满 % 编码八位字节的 URL 时,可能希望将它们转换回字符。不幸的是它必须猜测字符编码,理论上编码可以是任何东西,甚至是专有的。

此外,第 3 方可能想要生成指向他们无法控制的网站的 URL。有多少程序动态生成了 Google 搜索 URL?同样,必须推测网站支持的编码。

因此,如果您是网站所有者,并且想要变得友善,那么最好支持 UTF-8 编码的 URL。当然,你不必如此。这是您的 URL,由您决定。

于 2010-09-01T17:39:21.733 回答