首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >模拟浏览器URL编码的汉字?

模拟浏览器URL编码的汉字?
EN

Stack Overflow用户
提问于 2018-02-09 10:17:07
回答 1查看 458关注 0票数 1

如果你来这里:http://hdjob.bjx.com.cn/AdvanceSearch.shtml

并在源HTML中找到:

代码语言:javascript
复制
<dd><a href="/SearchResult.aspx?workprovince=安徽" target="_blank">安徽</a></dd>

如果您将光标放在Chrome或Firefox中的链接上,或者简单地打开它,URL将如下所示:

代码语言:javascript
复制
http://hdjob.bjx.com.cn/SearchResult.aspx?workprovince=%B0%B2%BB%D5

因此,中文字符安徽被浏览器自动编码为%B0%B2%BB%D5

我的问题是如何在PHP中模仿这个?

我试过这些:

代码语言:javascript
复制
echo urlencode("安徽"), PHP_EOL;
echo rawurlencode("安徽");

哪项产出:

代码语言:javascript
复制
%E5%AE%89%E5%BE%BD
%E5%AE%89%E5%BE%BD

然而,如果你去:

http://hdjob.bjx.com.cn/SearchResult.aspx?workprovince=%E5%AE%89%E5%BE%BD

这只是一个错误的页面,workprovince变量根本没有被正确地解码。

看来Chrome和Firefox对汉字的编码方式都不同于urlencode()和

那么,如何在PHP中模仿他们的做法呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-09 10:52:42

代码语言:javascript
复制
 echo urlencode(mb_convert_encoding('安徽', 'gb2312', 'utf-8')); //  %B0%B2%BB%D5
 echo urlencode('安徽'); // %E5%AE%89%E5%BE%BD
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48703559

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档