激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - php5.4以下版本json不支持不轉義內容中文的解決方法

php5.4以下版本json不支持不轉義內容中文的解決方法

2020-08-29 15:03PHP之家 PHP教程

這篇文章主要介紹了php5.4以下版本json不支持不轉義內容中文的解決方法,通過一個自定義php方法實現模擬joson中文不轉義,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了php5.4以下版本json不支持不轉義內容中文的解決方法。分享給大家供大家參考。具體分析如下:

寫ERP接口的時候遇到JAVA方接收這種json_encode后的內容

復制代碼 代碼如下:
{"orderCode":"1401160935542399","creator":"\u751f\u6d3b\u7528\u54c1\u6d4b\u8bd5\u5c0f\u5c4b"}


其中"creator":"\u751f\u6d3b\u7528\u54c1\u6d4b\u8bd5\u5c0f\u5c4b"為中文,目前我們用的是UTF8的。但是JAVA方接收這種的時候自動把轉義后的中文轉回成中文的,那簽名計算方式是按這個來的,簽名自然對不上了。

 

查了PHP手冊,5.4以下的不能不轉義中文,但是我們服務器上的PHP版本是5.3的,于是用PHP模擬了一個JSON方法。

復制代碼 代碼如下:

//模擬joson中文不轉義
if (version_compare(PHP_VERSION, '5.4.0') >= 0) {
    function json_encode_ex($var) {
        return json_encode($var, JSON_UNESCAPED_UNICODE);
    }
} else {
    function json_encode_ex($var) {
        if ($var === null)
            return 'null';

 

        if ($var === true)
            return 'true';

        if ($var === false)
            return 'false';

        static $reps = array(
            array("\\", "/", "\n", "\t", "\r", "\b", "\f", '"', ),
            array('\\\\', '\\/', '\\n', '\\t', '\\r', '\\b', '\\f', '\"', ),
        );

        if (is_scalar($var))
            return '"' . str_replace($reps[0], $reps[1], (string) $var) . '"';

        if (!is_array($var))
            throw new Exception('JSON encoder error!');

        $isMap = false;
        $i = 0;
        foreach (array_keys($var) as $k) {
            if (!is_int($k) || $i++ != $k) {
                $isMap = true;
                break;
            }
        }

        $s = array();

        if ($isMap) {
            foreach ($var as $k => $v)
                $s[] = '"' . $k . '":' . call_user_func(__FUNCTION__, $v);

            return '{' . implode(',', $s) . '}';
        } else {
            foreach ($var as $v)
                $s[] = call_user_func(__FUNCTION__, $v);

            return '[' . implode(',', $s) . ']';
        }
    }
}

 

用的時候直接當內置函數用就行。json_encode_ex(array('釣魚島'=>'中國的'));還支持多維數組。

希望本文所述對大家的php程序設計有所幫助。

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25
主站蜘蛛池模板: 欧美一区二区三区四区五区动图 | 久久精品男人 | 久久精品亚洲欧美日韩精品中文字幕 | 91中文在线 | 日本免费一区二区三区四区 | 毛片免费在线观看 | 小视频免费在线观看 | 性爱免费视频 | 最新欧美精品一区二区三区 | 色视频一区二区 | 久久久久国产成人精品亚洲午夜 | 91视频成人入口 | 成人一区三区 | 欧美日韩在线播放一区 | 手机黄网www8xcn | 欧美精品99 | 91婷婷射 | www.54271.com | 精品国产一区二区三区在线观看 | 国产精品99一区二区 | 男女羞羞视频 | 久久国产91 | 色播av在线 | 国产一国产一级毛片视频 | 九九热国产在线 | 久国产| 久久久久在线 | av中文在线观看 | 美女羞羞视频网站 | 视频在线色 | 精品国产观看 | 国产精品久久久久久久不卡 | 午夜天堂在线视频 | 成人福利视频网站 | 黄网站免费观看视频 | 免费一级特黄毛片视频 | 国产系列 视频二区 | 国产91porn | 国产亚洲高清在线精品不卡 | 日韩视频在线观看免费视频 | 免费国产不卡午夜福在线 |