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