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-12
PHP轉(zhuǎn)Go之基礎(chǔ)數(shù)據(jù)類型對比詳解
這篇文章主要為大家詳細(xì)介紹了PHP與Go語言中基礎(chǔ)數(shù)據(jù)類型的對比,以及使用時常見的坑,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以參考一下2023-09-09

