加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php 转换UTF-8和GB2312的URL编码

发布时间:2020-12-13 05:17:22 所属栏目:PHP教程 来源:网络整理
导读:例如我们要统计一个网站由搜索引擎中带来的访问的关键词。 比如我们搜中文这个词,然后观察浏览器地址栏。 用Baidu得到的结果是: http://www.baidu.com/s?wd=%D6%D0%CE%C4 用Google得到的结果是: http://www.google.cn/search?hl=zh-CNsource=hpq=%E4%B8%A

例如我们要统计一个网站由搜索引擎中带来的访问的关键词。

比如我们搜“中文”这个词,然后观察浏览器地址栏。


用Baidu得到的结果是:


http://www.baidu.com/s?wd=%D6%D0%CE%C4

用Google得到的结果是:


http://www.google.cn/search?hl=zh-CN&source=hp&q=%E4%B8%AD%E6%96%87&aq=f&oq=

红色的字符为“中文”这个词的URL编码,即,baidu_urlencode(”中文”)=%D6%D0%CE%C4, google_urlencode(”中文”)=%E4%B8%AD%E6%96%87,由于编码不同,很明显不一样。

在PHP中有一个mb_convert_encoding的函数,给不同编码的转换带来了方便.

header('Content-type: text/html; charset=utf-8');

echo '
百度关键词URL编码转换示例:
';

$urlBaidu = 'http://www.baidu.com/s?wd=%D6%D0%CE%C4';

$arrParse = parse_url($urlBaidu);

parse_str($arrParse ['query'],$output);

echo '乱码:' . $output['wd'] . '
';

//将gb2312编码转换成utf-8编码

$strUTF8 = mb_convert_encoding($output['wd'],'utf-8','gb2312');

echo '可读码:' . $strUTF8 . '
';

echo '
谷歌关键词URL编码转换示例:
';

$urlGoogle = 'http://www.google.cn/search?hl=zh-CN&source=hp&q=%E4%B8%AD%E6%96%87&aq=f&oq=';

$arrParse = parse_url($urlGoogle);

parse_str($arrParse ['query'],$output);

//谷歌关键词URL编码是utf-8,不用再作转换

echo '可读码:' . $output['q'] . '
';

?>

你可以将代码复制到这里运行一下。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读