您好,欢迎访问一九零五行业门户网

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

php使用get传输汉字的编码转换
?当我们使用get方式对汉字编码进行传输时,不同的浏览器会有不同的问题,因此我们应该先将汉字进行转码,转为unicode的方式进行传输,如下代码:
$str = rawurlencode(iconv(gbk, utf-8, 我是谁));echo
.$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即可;
?
其它类似信息

推荐信息