PHP连接mssql 2005 输出json并处理中文乱码方法

本文介绍了一种在PHP中处理含有中文字符的数组并将其转换为JSON格式的方法。通过使用iconv进行字符集转换,并结合urlencode确保正确编码,最终实现通过echo输出中文内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

不知为何PHP6.0 用不了 json_encode( $arr ,JSON_UNESCAPED_UNICODE);后面的参数不让带


还是用网上介绍的iconv("gbk","utf-8",$val),转化,但进行了改写这句: $arrRs[$key] = urlencode(iconv('GBK','UTF-8',$value));

function gbktoutf8($arr){

        if(is_array($arr) && count($arr)){

            foreach($arr as $key=>$value){

                if(is_array($value)){

                    $arrRs[$key] = gbktoutf8($value);

                }else{

                    if(!is_utf8($value)){

                        $arrRs[$key] = urlencode(iconv('GBK','UTF-8',$value));

                    }else{

                        $arrRs[$key] = $value;

                    }

                }

            }

            return $arrRs;

        }

        return null;

  }


function is_utf8($string)   
{   
    return (utf8_encode(utf8_decode($string)) == $string);   
} 


输出时采用:


echo urldecode(json_encode($arr));

头部别忘了:

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

成功输出中文。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值