为什么某些网站的标题中带有?utf8 =✓?


70

我注意到很多网站在搜索或浏览时都会添加一个名为get的变量utf,并将其设置为选中标记(?utf8=✓)。

两个示例是:

  • Dotabuff的搜索URL包括它。示例:dotabuff.com/search?utf8 =✓&q = PPD

  • Bibme也有它的搜索URL。示例:bibme.org/mla/website-citation/search?utf8 =✓&q = someurl.com

Answers:


83

URI包含utf8=✓强制客户端发送UTF-8的信息。
之所以起作用,是因为键值对(目标忽略)包含仅Unicode字符。

来自使用“ utf8 =✓”优于使用“ utf8 = true”吗?

默认情况下,如果可能,较旧版本的IE(<= 8)将以Latin-1编码提交表单数据。通过包含无法用Latin-1表示的字符,IE被迫对其表单提交使用UTF-8编码,从而简化了各种后端过程,例如数据库持久性。

如果使用该参数,utf8=true则不会在这些浏览器中触发UTF-8编码。


17
IE除了使用IE之外,还会使用拉丁语吗?
2014年

10
不,现在没有理由很长时间了。
Deduplicator 2014年

2
公平地说,取决于服务器的设置方式,因此不能保证服务器utf8=✓会实际忽略它,因为服务器可以访问整个URL。尽管如果它是一个正在使用它的站点,则服务器可能未将其用于任何用途。
M. Justin

1
出于任何原因,@ Frank除非另有配置,否则所有/大多数IE产品(例如Outlook / OWA)默认都默认使用Latin-1编码。我认为互操作性(?)是可能的原因之一。
雏形的

4
GitLab做同样的事情。我就像“这是怎么被允许的,我们通常需要使用所有URl编码来转义完整URL中的特殊字符?” 完美的答案。
TinkerTenorSoftwareGuy
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.