URLEcoder和URLEcoder编码和解码Javadoc注意:如果不使用UTF-8怎么办?

URLEcoder和URLEcoder编码和解码Javadoc注意:如果不使用UTF-8怎么办?,java,encoding,character-encoding,decoding,Java,Encoding,Character Encoding,Decoding,因此,URLEncoder的encode和URLDecoder的decode的javadoc中包含以下注释: 注:万维网联盟建议使用UTF-8。不这样做可能会导致不兼容。” 但是,如果有人以不同的编码类型发送请求,那么使用UTF-8编码不是一个坏主意吗?检查报头(如果存在)有什么问题吗使用其中指定的任何编码?如果有人能提供的话,也许本说明的更多背景知识会让我觉得更有意义。在同一文档中 建议使用的编码方案是UTF-8。但是,出于兼容性原因,如果未指定编码,则使用平台的默认编码 您可以更改编码,

因此,URLEncoder的encode和URLDecoder的decode的javadoc中包含以下注释:


注:万维网联盟建议使用UTF-8。不这样做可能会导致不兼容。”


但是,如果有人以不同的编码类型发送请求,那么使用UTF-8编码不是一个坏主意吗?检查报头(如果存在)有什么问题吗使用其中指定的任何编码?如果有人能提供的话,也许本说明的更多背景知识会让我觉得更有意义。

在同一文档中

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

您可以更改编码,但由于它不符合W3C标准,这将是一个坏主意


资源:


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


当我处理类似问题时,我发现讨论很有帮助。

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

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

另一方面,人们确实希望查看URL,尝试了解更精细的细节。当浏览器显示一个URL,其中包含%编码的八位字节时,可能希望将它们转换回字符。不幸的是,它必须猜测字符编码,理论上编码可以是任何东西,甚至是专有编码

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

所以,如果你是一个网站所有者,并且你想表现得好一些,最好支持UTF-8编码的URL。当然,你不必这样。这是你的URL,由你决定