当前位置: 首页 > 面试题库 >

URL中的Unicode字符

崔绍辉
2023-03-14
问题内容

在2010年,您是否会在大型Web门户中提供包含UTF-8字符的URL?

根据URL上的RFC禁止使用Unicode字符。必须对它们进行百分比编码以符合标准。

不过,我的主要观点是提供未编码的字符,其唯一目的是拥有美观的URL,因此百分比编码已被淘汰。

不论RFC怎么说,所有主流浏览器似乎都可以解析这些URL。不过,我的总体印象是,离开网络浏览器领域时,它变得非常不稳定:

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

我的印象是正确的,在这里一定会遇到麻烦,因此,如果您正在为非技术用户提供服务,这还不是一个实际的解决方案,并且即使引用和传递所有链接也都能够正常工作,这一点很重要吗?

是否有一些神奇的方法可以在HTML中提供美观的URL

http://www.example.com/düsseldorf?neighbourhood=Lörick

可以原样复制并粘贴特殊字符,但是在较旧的客户端中重复使用时可以正常工作吗?


问题答案:

编辑: 当您在Firefox中复制这样的URL时,剪贴板将保留百分比编码的形式(通常是一件好事),但是如果仅复制其中一部分,它将保持未编码状态。



 类似资料:
  • 我在Mako模板中有以下代码: 这将url转义应用于表示公司的对象的名称字符串。然后在URL中使用得到的转义字符串。Mako文档说明使用提供url编码。 在服务器上,我将公司名称部分接收到参数中: 然后使用investment_name作为键返回到模板中提取它的字典中。 这对于公司名称中的所有标准大小写(如空格、斜杠和单引号)都很适用。但是,如果公司名称包含ascii字符集之外的unicode字符

  • 问题内容: 当我运行它时,它抱怨: 但是我不能使用,因为它会抱怨: 有人知道如何处理吗? 问题答案: 您可以使用urllib.parse.quote()对URL的路径部分进行编码。

  • 问题内容: 我使用函数对AJAX发送到PHP的JS对象进行字符串化处理。 当JSON.stringify函数将Unicode字符编码为格式(例如)时,就会出现问题。我的问题是如何在PHP中将这些字符转换为常规unicode字符? 问题答案: 看到输出UTF-16?有点卡住 这将转换为UTF-8:

  • 问题内容: 我正在使用Sql Server 2008 R2 Enterprise。我正在编写一个能够从Sql表中插入,更新,删除和选择记录的应用程序。当涉及包含to,as拧,胆和啪等 特殊字符 的记录时,应用程序会出错。 这是发生了什么: 命令: 插入新记录,但“名称”字段为,因此字符更改为。 命令: 返回正确的记录,因此再次将字符替换为该记录并返回该记录。 问题: 是否可以使Sql Server

  • 问题内容: 这个问题看起来很尴尬,但我一直找不到答案。 与下面的C#代码行等效的PHP是什么? 此示例创建一个带有单个Unicode字符的字符串,该字符串的“ Unicode数值”为十六进制的1000(十进制的4096)。 也就是说,在PHP中,如何创建一个具有“ Unicode数值”已知的Unicode字符的字符串? 问题答案: 因为JSON直接支持语法,所以我想到的第一件事是: 另一种选择是使

  • 问题内容: 我正在为我的自定义StringDatatype编写单元测试,并且需要写下4字节的unicode字符。“ \ U”-不起作用(非法转义字符错误),例如:U + 1F701(0xf0 0x9f 0x9c 0x81)。如何将其写成字符串? 问题答案: Unicode代码点不是4个字节。它是整数(目前介于U + 0000到U + 10FFFF之间)。 您的4个字节是(很自然地)其UTF-8编码