首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >URL中的Unicode字符

URL中的Unicode字符
EN

Stack Overflow用户
提问于 2018-03-30 04:22:42
回答 2查看 0关注 0票数 0

2010年,您会在大型门户网站中提供包含UTF-8字符的网址吗?

根据URL上的RFC,禁止Unicode字符(请参阅此处)。他们必须将百分比编码为符合标准。

不过,我的主要观点是为未编码字符提供非常漂亮的URL,因此编码百分比已不存在。

无论RFC说什么,所有主流浏览器似乎都会解析这些URL。然而,我的一般印象是,离开网络浏览器的领域时,它变得非常不稳定:

  • 将URL复制粘贴到文本文件,电子邮件,甚至是使用不同编码的网站
  • HTTP客户端库
  • 异国情调的浏览器,RSS阅读器

我的印象是否正确,因为在这里可能会遇到麻烦,因此,如果您服务的是非技术性的受众群体,那么它不是一个实际的解决方案,即使引用并传递了所有链接也很重要,这一点很重要。

有没有什么神奇的方式在HTML中提供漂亮的网址

代码语言:javascript
复制
http://www.example.com/düsseldorf?neighbourhood=Lörick

可以复制+粘贴完整的特殊字符,但在旧客户端重新使用时可以正确工作?

EN

回答 2

Stack Overflow用户

发布于 2018-03-30 12:22:45

使用百分比编码。现代浏览器将负责显示和粘贴问题并使其易于阅读。例如,http://ko.wikipedia.org/wiki/ 위 키 백 과 : 대 문

当你在Firefox中复制这样一个URL时,剪贴板将保存百分比编码的表单(这通常是一件好事),但是如果只复制其中的一部分,它将保持未编码状态。

票数 0
EN

Stack Overflow用户

发布于 2018-03-30 13:58:40

背景:

代码语言:javascript
复制
http://www.example.com/düsseldorf?neighbourhood=Lörick

这不是一个URI。但它一个IRI

您无法在HTML4文档中包含IRI; 类似的属性href被定义为URI而不是IRI。无论如何,一些浏览器会处理IRI,但这不是一个好主意。

要将IRI编码为URI,请采用路径和查询部分,使用UTF-8编码,然后对非ASCII字节进行百分比编码:

代码语言:javascript
复制
http://www.example.com/d%C3%BCsseldorf?neighbourhood=L%C3%B6rick

如果在IRI的主机名部分有非ASCII字符,例如。http://例え.テスト/,它们使用Punycode进行编码。

现在你有一个URI。这是一个丑陋的URI。但是大多数浏览器会为你隐藏:复制并粘贴到地址栏中,或者在链接中跟着它,你会看到它与原始Unicode字符一起显示。维基百科已经使用了很多年,例如:

代码语言:javascript
复制
http://en.wikipedia.org/wiki/ɸ

一个浏览器的行为是不可预知的,并不总是显示漂亮的IRI版本是......

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100003745

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档