2010年,您是否将在大型Web门户中提供包含UTF-8字符的URL?
根据URL上的RFC,Unicode字符被禁止(请参阅here)。必须对它们进行百分比编码以符合标准。
但是,我的主要目的是提供未编码的字符,其唯一目的是拥有美观的URL,因此百分比编码已经解决了。
无论RFC怎么说,所有主流浏览器似乎都可以解析这些URL。不过,我的总体印象是,离开网络浏览器领域时,它会变得非常不稳定:
我的印象是正确的,在这里一定会遇到麻烦,因此,如果您为非技术用户提供服务,这还不是一个实际的解决方案,并且即使引用和传递所有链接也都能够正常工作,这一点很重要吗?
是否有某种神奇的方法可以在HTML中提供美观的URL
http://www.example.com/düsseldorf?neighbourhood=Lörick
可以复制并粘贴完整的特殊字符,但是在较旧的客户端中重复使用时可以正常工作吗?
2010年,您是否会在大型Web门户中提供包含UTF-8字符的URL?根据URL上的RFC禁止使用Unicode字符(请参见此处)。必须将它们百分比编码为...
使用百分比编码。现代浏览器将处理显示和粘贴问题,并使之易于阅读。例如http://ko.wikipedia.org/wiki/위키백과:대문
Tgr怎么说。背景:
根据您的URL方案,您可以将UTF-8编码的部分设置为“不重要”。例如,如果您查看Stack Overflow URL,它们的格式如下:
不确定这是否是一个好主意,但正如其他注释中所提到的以及我的解释,许多Unicode字符在HTML5 URL中有效
因此此问题将尽快解决。
使用百分比编码形式
。例如,某些运行Windows XP的计算机(主要是较旧的计算机)不支持Unicode,而是支持ISO编码。这就是发明百分比编码URL的原因。另外,如果您将打印在纸上的URL提供给用户,其中包含不易键入的字符,则该用户可能很难输入(或忽略它)。百分比编码形式甚至可以用在曾经存在的许多最古老的机器中(尽管它们当然不支持互联网)。不过有一个缺点,因为百分号编码的字符比原始字符长,因此可能导致URL真的很长。但是,请尝试忽略它,或使用URL缩短器(在这种情况下,我建议您使用goo.gl,这样可以形成13个字符的长URL)。另外,如果您不想注册Google帐户,请尝试bit.ly(bit.ly会使URL稍长,长度为14个字符)。 $linker = rawurldecode("$link");
<a href="<?php echo $link;?>" target="_blank"><?php echo $linker ;?></a>
此方法有效,现在链接已正确显示: