gpt4 book ai didi

php - 口音、网址和 Firefox

转载 作者:可可西里 更新时间:2023-11-01 00:37:17 29 4
gpt4 key购买 nike

我遇到了一些问题,我想知道是否有人可以帮助我。

我将我的网站和数据库设置为 utf8。当我在查询字符串部分输入重音符时出现问题 ã 变成 %E3,但如果我在页面中使用链接或表单,它会给出 % C3%A3 在 url 中。

我能做什么?

编辑:让我试着澄清一下:

我试图在我的 URL(查询字符串)中使用重音字符,但我很难让它在多个浏览器中工作。某些浏览器(如 Firefox 和 IE)会根据我是在页面中使用表单还是在地址栏中输入重音字符来输出不同的百分比编码字符串。就像我在原来的问题中所说的那样,在表单中输入的 ã 会在 url 中变成 %C3%A3 但如果我在 ã地址栏,浏览器将其更改为 url 中的 %E3

这让事情变得复杂,因为如果我得到 %E3,那么在 php/html 中我会得到一个未知字符(即菱形问号,对吗?)

希望这有帮助 - 否则请告诉我。

最佳答案

ã inputed in a form turns to %C3%A3 in the url

取决于表单编码,通常取自包含表单的页面的编码。 %C3%A9ã 的正确 UTF-8 URL 编码形式。

if I type ã in the address bar, the browser changes that to %E3 in the url.

这取决于浏览器。当您将非 ASCII 字符放入地址栏中的 URL 时:

http://www.example.com/test.p/café?café

WebKit 浏览器将它们全部编码为 UTF-8:

http://www.example.com/test.p/caf%C3%A9?caf%C3%A9

这是 IMO 最正确的,根据 IRI .但是,由于历史原因,IE 和 Opera 仅使用操作系统的默认系统编码对输入到查询字符串中的文本进行编码。因此,在西欧 Windows 安装(使用代码页 1252)上,您将获得:

http://www.example.com/test.p/caf%C3%A9?caf%E9

对于系统编码中不可用的字符,IE 和 Opera 会用 ? 替换它们。当查询字符串中的所有字符都使用 Firefox 时,Firefox 将使用系统编码,否则使用 UTF-8。

可怕且不一致,但用户手动输入查询字符串的情况非常少见。

关于php - 口音、网址和 Firefox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4435272/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com