建站学 - 轻松建站从此开始!

建站学-个人建站指南,网页制作,网站设计,网站制作教程

当前位置: 建站学 > 网站开发 > PHP教程 >

PHP:参数互传乱码问题

时间:2011-06-23 10:21来源: 作者: 点击:
如果一个站用的是gbk的编码,一个站呢用的是utf8的编码,这二个站之间要相互通信,当然这个时候都知道彼此的编码就很好解决。如果不知道呢? 查看复制打印? 1.<?php   2.function exchange_code ( &$param, $in_code,$out_code)   3.{ &n

如果一个站用的是gbk的编码,一个站呢用的是utf8的编码,这二个站之间要相互通信,当然这个时候都知道彼此的编码就很好解决。如果不知道呢?

查看复制打印?
1.<?php  
2.function exchange_code ( &$param, $in_code,$out_code)  
3.{  
4.    if (is_array($param)){  
5.       foreach ($param as $key=>$val) {  
6.           $param[$key] = mb_convert_encoding($val,$out_code,$in_code);  
7.       }  
8.    }else{  
9.       $param = mb_convert_encoding($param,$out_code,$in_code);  
10.    }  
11.}  
12. 
13.$param = $_REQUEST['param'];  
14.$code = mb_detect_encoding($param);    //在这里我传是一个字符串,数组就不能这么用了  
15.call_user_func('exchange_code', &$param,$code,'gbk');  
16.?> 
<?php
function exchange_code ( &$param, $in_code,$out_code)
{
    if (is_array($param)){
       foreach ($param as $key=>$val) {
           $param[$key] = mb_convert_encoding($val,$out_code,$in_code);
       }
    }else{
       $param = mb_convert_encoding($param,$out_code,$in_code);
    }
}

$param = $_REQUEST['param'];
$code = mb_detect_encoding($param);    //在这里我传是一个字符串,数组就不能这么用了
call_user_func('exchange_code', &$param,$code,'gbk');
?>传过来的参数,用mb_detect_encoding来侦测一下它的字符集是什么,要变成什么样的字符集,转一下就行了。不过要注意,文件本身保存的字符编码是什么,以及页面输出的编码是什么等,要统一。

(责任编辑:admin)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片