热度 2
2019-9-23 10:20
1610 次阅读|
1 个评论
当我们使用GET方式对汉字编码进行传输时,不同的浏览器会有不同的问题,因此我们应该先将汉字进行转码,转为unicode的方式进行传输,如下代码: $str =rawurlencode(iconv( "GBK" , "UTF-8" , "我是谁" )); echo " " . $str ; 这样,“我是谁”会被转换为类似于:我是谁的编码,在浏览器地址上进行传输; 而在接收此参数时,需要将编码进行反转换,处理分两步: 一、定义页面的编码格式: 这是第一步,即要求浏览器在读到此页面时,使用什么编码来进行显示,因此我们应该在我们的页面上添加header的编码定义: header("Content-Type:text/html; charset = gbk"); 是什么编码就是什么编码; 二、接收过来的数据: 使用GET方式进行汉字传输时,会被浏览器解析成unicode编码,因此我们应该先将其转换成utf-8的编码: Php代码 $_articleName =rawurldecode( $_articleName ); rawurldecode即将类似于:我是谁的编码转换为utf-8; 然后再使用iconv,对编码进行转换: Php代码 $_articleName =iconv( "UTF-8" , "GBK" , "$_articleName" ); 这样就可以正常显示为gbk的编码了; gb2312相同,只是将gbk换为gb2312即可