编程语言
首页 > 编程语言> > php-Google Chrome浏览器中的URL编码

php-Google Chrome浏览器中的URL编码

作者:互联网

有人知道Google Chrome浏览器用来编码网址的编码是什么吗?

当我们尝试从Google搜索框(Omnibox)复制网址时,就会发生编码.

我粘贴了以下URL:

www.bing.com/search?q=이윤희&go=&qs=n&form=QBLH&filt=all&pq=이윤희&sc=0-0&sp=-1&sk=

进入Google搜索,然后从搜索框中复制回相同的URL,结果如下:

http://www.bing.com/search?q=%EC%9D%B4%EC%9C%A4%ED%9D%AC&go=&qs=n&form=QBLH&filt=all&pq=%EC%9D%B4%EC%9C%A4%ED%9D%AC&sc=0-0&sp=-1&sk=

我想知道他们正在使用什么编码.

解决方法:

这是标准百分比的URL编码,在这种情况下是UTF-8编码的文本. URL不能包含非ASCII字符(实际上是其子集,URL的不同部分具有不同的子集).您实际上不能在URL中包含“이윤희”.要嵌入任意字符,可以对它们进行百分比编码.这仅需要一个字节并将其十六进制值编码为%xx. U 9字节的UTF-8字节表示形式为EC 9D B4 EC 9C A4 ED 9D AC,这正是您在URL中看到的内容.

URL始终是这种方式,复制时并非由Chrome进行.相反,如果该网址显示为www.bing.com/search?q=이윤희& …,则表明Chrome不错,并为您显示了解码后的网址.

参见What every web developer must know about URL encoding.

在PHP中,可以使用rawurlencode复制它:

echo rawurlencode('이윤희'); // (assuming UTF-8 encoded source code)

标签:google-chrome,php,url-encoding
来源: https://codeday.me/bug/20191122/2057634.html