首页 > 后端开发 > php教程 > PHP施用GET传输汉字的编码转换

PHP施用GET传输汉字的编码转换

WBOY
发布: 2016-06-13 13:03:18
原创
864 人浏览过

PHP使用GET传输汉字的编码转换

?当我们使用GET方式对汉字编码进行传输时,不同的浏览器会有不同的问题,因此我们应该先将汉字进行转码,转为unicode的方式进行传输,如下代码:

$str = rawurlencode(iconv("GBK", "UTF-8", "我是谁"));
echo "<br> ".$str;
登录后复制

?这样,“我是谁”会被转换为类似于:%E6%88%91%E6%98%AF%E8%B0%81的编码,在浏览器地址上进行传输;

而在接收此参数时,需要将编码进行反转换,处理分两步:

一、定义页面的编码格式:

这是第一步,即要求浏览器在读到此页面时,使用什么编码来进行显示,因此我们应该在我们的页面上添加header的编码定义:

header("Content-Type:text/html; charset = gbk");

是什么编码就是什么编码;

二、接收过来的数据:

使用GET方式进行汉字传输时,会被浏览器解析成unicode编码,因此我们应该先将其转换成utf-8的编码:

??????

$_articleName = rawurldecode($_articleName) ;
登录后复制

?????? rawurldecode即将类似于:%E6%88%91%E6%98%AF%E8%B0%81的编码转换为utf-8;

然后再使用iconv,对编码进行转换:

$_articleName = iconv("UTF-8", "GBK", "$_articleName"); 
登录后复制

?

这样就可以正常显示为gbk的编码了;

gb2312相同,只是将gbk换为gb2312即可;

?

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板