PHP代码中文输出乱码和转码问题

1.header('Content-Type:text/html;charset=utf-8'); 防止json格式的中文乱码输出,在输出之前写出此代码行

2.字符转码:$a为待转码字符串,$encode为 $a的编码规则,$to_encode 为$a 将要转的编码规则,$str_encode 转码后的字符串,
               (一): $encode = mb_detect_encoding($a, array("ASCII", 'UTF-8', "GB2312", "GBK", 'BIG5'));//获取当前字符串的编码
                                 $str_encode = mb_convert_encoding($a, $to_encode, $encode);//将字符编码改为$to_encode

               (二):$str_encode = iconv($encode, $to_encode, $a);//例:$A = iconv("gbk", "utf-8", $A);

               (三):/**
 * 1.自动识别编码并转换为UTF-8
 */
function characet($data){
  if( !empty($data) ){   
    $fileType = mb_detect_encoding($data , array('UTF-8','GBK','LATIN1','BIG5')) ;  
    if( $fileType != 'UTF-8'){  
      $data = mb_convert_encoding($data ,'utf-8' , $fileType);  
    }  
  }  
  return $data;   
}


3.自己写了一个小得处理PHP代码http调试时输出汉字的代码:

//防止中文转码,遍历数据结果,每项单独urlencode,

    public function arrayUrlencode($array) {

        if (empty($array)) {

            return $array;

        } else {

            foreach ($array as $key =>$value) {//对每个数组元素进行urlencode

                if (is_array($value)) {

                    $array[$key] =$this->arrayUrlencode($value);

                } else {

                    $array[$key] =urlencode($value);

                }

            }

        }

        return $array;

    }

 

    //再整体urldecode

    public function arrayJsonencode($array) {

        $url_arr =$this->arrayUrlencode($array);

        $json_arr = json_encode($url_arr);//json 输出

        return urldecode($json_arr); //整体urldecode

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值