php中json_encode不兼容JSON_UNESCAPED_UNICODE的解決方案
PHP5.4才支持JSON_UNESCAPED_UNICODE這個參數(shù),此參數(shù)是讓中文字符在json_encode的時候不用轉(zhuǎn)義,減少數(shù)據(jù)傳輸量。但在PHP5.3中,就得自己寫個函數(shù)來實現(xiàn),以下就是解決方法:
/** * 對變量進(jìn)行 JSON 編碼 * @param mixed value 待編碼的 value ,除了resource 類型之外,可以為任何數(shù)據(jù)類型,該函數(shù)只能接受 UTF-8 編碼的數(shù)據(jù) * @return string 返回 value 值的 JSON 形式 */ function json_encode_ex($value) { if (version_compare(PHP_VERSION,'5.4.0','<')) { $str = json_encode($value); $str = preg_replace_callback( "#\\\u([0-9a-f]{4})#i", function($matchs) { return iconv('UCS-2BE', 'UTF-8', pack('H4', $matchs[1])); }, $str ); return $str; } else { return json_encode($value, JSON_UNESCAPED_UNICODE); } }
判斷PHP的版本,如果低于5.4則使用自定義函數(shù)來實現(xiàn),如果是5.4及以上版本則使用JSON_UNESCAPED_UNICODE。
以上就是php中json_encode不兼容JSON_UNESCAPED_UNICODE的解決方案 ,希望能給大家一個參考,了解更多PHP的語法,大家可以關(guān)注《PHP5在線手冊》,也希望大家多多支持腳本之家。
- Thinkphp 框架基礎(chǔ)之源碼獲取、環(huán)境要求與目錄結(jié)構(gòu)分析
- php源碼的安裝方法和實例
- php源碼的使用方法講解
- PHP后臺備份MySQL數(shù)據(jù)庫的源碼實例
- PHP自動生成縮略圖函數(shù)的源碼示例
- PHP json_encode中文亂碼解決方法
- 基于php解決json_encode中文UNICODE轉(zhuǎn)碼問題
- 淺析PHP中json_encode與json_decode的區(qū)別
- php讓json_encode不自動轉(zhuǎn)義斜杠“/”的方法
- 關(guān)于php unset對json_encode的影響詳解
- PHP中讓json_encode不自動轉(zhuǎn)義斜杠“/”的方法
- php json_encode與json_decode詳解及實例
- java解析php函數(shù)json_encode unicode 編碼問題
- 源碼分析系列之json_encode()如何轉(zhuǎn)化一個對象
相關(guān)文章
PHP+jquery+ajax實現(xiàn)即時聊天功能實例
這篇文章主要介紹了PHP+jquery+ajax實現(xiàn)即時聊天功能的方法,實例分析了php聊天功能的信息無刷新提交方法,以及信息發(fā)送處理等功能,具有一定的參考借鑒價值,需要的朋友可以參考下2014-12-12PHP轉(zhuǎn)Go之基礎(chǔ)數(shù)據(jù)類型對比詳解
這篇文章主要為大家詳細(xì)介紹了PHP與Go語言中基礎(chǔ)數(shù)據(jù)類型的對比,以及使用時常見的坑,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以參考一下2023-09-09