php中json_encode不兼容JSON_UNESCAPED_UNICODE的解決方案
PHP5.4才支持JSON_UNESCAPED_UNICODE這個(gè)參數(shù),此參數(shù)是讓中文字符在json_encode的時(shí)候不用轉(zhuǎn)義,減少數(shù)據(jù)傳輸量。但在PHP5.3中,就得自己寫個(gè)函數(shù)來實(shí)現(xiàn),以下就是解決方法:
/**
* 對(duì)變量進(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ù)來實(shí)現(xiàn),如果是5.4及以上版本則使用JSON_UNESCAPED_UNICODE。
以上就是php中json_encode不兼容JSON_UNESCAPED_UNICODE的解決方案 ,希望能給大家一個(gè)參考,了解更多PHP的語法,大家可以關(guān)注《PHP5在線手冊(cè)》,也希望大家多多支持腳本之家。
- Thinkphp 框架基礎(chǔ)之源碼獲取、環(huán)境要求與目錄結(jié)構(gòu)分析
- php源碼的安裝方法和實(shí)例
- php源碼的使用方法講解
- PHP后臺(tái)備份MySQL數(shù)據(jù)庫的源碼實(shí)例
- PHP自動(dòng)生成縮略圖函數(shù)的源碼示例
- PHP json_encode中文亂碼解決方法
- 基于php解決json_encode中文UNICODE轉(zhuǎn)碼問題
- 淺析PHP中json_encode與json_decode的區(qū)別
- php讓json_encode不自動(dòng)轉(zhuǎn)義斜杠“/”的方法
- 關(guān)于php unset對(duì)json_encode的影響詳解
- PHP中讓json_encode不自動(dòng)轉(zhuǎn)義斜杠“/”的方法
- php json_encode與json_decode詳解及實(shí)例
- java解析php函數(shù)json_encode unicode 編碼問題
- 源碼分析系列之json_encode()如何轉(zhuǎn)化一個(gè)對(duì)象
相關(guān)文章
php從數(shù)組中隨機(jī)選擇若干不重復(fù)元素的方法
這篇文章主要介紹了php從數(shù)組中隨機(jī)選擇若干不重復(fù)元素的方法,涉及php數(shù)組操作的相關(guān)常用技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-03-03
PHP+mysql+ajax輕量級(jí)聊天室實(shí)現(xiàn)方法詳解
這篇文章主要介紹了PHP+mysql+ajax輕量級(jí)聊天室實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了php+mysql實(shí)現(xiàn)實(shí)時(shí)聊天室功能的具體步驟與相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2016-10-10
PHP7.0連接DB操作實(shí)例分析【基于mysqli】
這篇文章主要介紹了PHP7.0連接DB操作,結(jié)合實(shí)例形式分析了php7基于mysqli連接與查詢數(shù)據(jù)庫相關(guān)操作技巧,需要的朋友可以參考下2019-09-09

