加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

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

发布时间:2020-05-26 12:05:21 所属栏目:PHP 来源:互联网
导读:目前WEB的应用中, UTF-8编码和GB2312编码是并存在的,由于编码并存引起的乱码问题给WEB应用开发中带来不少麻烦,因此统一编码是在WEB开发中解决这个问题的主要途径,本文向大家介绍php中转换UTF-8和GB2312的URL编码。需要的码农可以参考一下。

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

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


用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'] . '
';

?>

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

(编辑:安卓应用网)

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

    推荐文章
      热点阅读