php json資料處理中文編碼

2021-09-06 12:02:16 字數 1475 閱讀 4080

<?php 

function notice())#ie", "iconv('ucs-2be', 'utf-8', pack('h4', '\\1'))", $str);

//windows

//return preg_replace("#\\\u([0-9a-f])#ie", "iconv('ucs-2le', 'utf-8', pack('h4', '\\1'))", $str);

}?>

另外從網上搜尋到的其他方法

<?php 

/** * json 生成,分析 支援中文

*/class json_helper )#ie", "iconv('ucs-2be', 'utf-8', pack('h4', '\\1'))", $json);

//windows

//return preg_replace("#\\\u([0-9a-f])#ie", "iconv('ucs-2le', 'utf-8', pack('h4', '\\1'))", $json);

}/**

* 分析json

*/public static function decode($str)

}?>

當使用php自帶的json_encode對資料進行編碼時,中文都會變成unicode,導致不可讀。如:對字串」廈門「進行json_encode後,輸出的是"\u53a6\u95e8"。

查詢了一下,有兩種方法:

1.將"\u53a6\u95e8"還原成「廈門」,使用如下的**:

$str= preg_replace("#\\\u([0-9a-f]+)#ie", "iconv('ucs-2', 'utf-8', pack('h4', '\\1'))", $str);
2.先將中文字段urlencode,json_encode後,再用urldecode,也可以顯示中文。

$code = urldecode(json_encode(urlencode("廈門")));
php5.4版本,已經給json新增了乙個選項: json_unescaped_unicode。加上這個選項後,就不會自動把中文編碼了。

echo json_encode("廈門", json_unescaped_unicode);
另,由於 json_encode 和 json_decode只支援utf-8編碼的字元,gbk的字元要用json就得轉換一下,附自己寫的gbk轉utf-8的**:

/*

字串gbk轉碼為utf-8,數字轉換為數字。

*/function ct2($s) else }/*

批量處理gbk->utf-8

*/function icon_to_utf8($s)

} else

return $s;

}echo json_encode(icon_to_utf8("廈門"));

php json資料保留原樣中文

php轉換json時,其中的中文會轉換成unicode,要保持原來中文的意思 將陣列裡面帶有中文的字串保留以json格式返回 param array arr 陣列 return string json格式的字串 function tojson arr 將陣列裡面帶有中文的字串用urlencode轉換...

PHP JSON 資料編碼和解碼

資料表乙個字段需要記錄多個資訊,如記錄關於使用者的其他資訊 資料傳輸,如 api介面返回值 ajax中實現非同步載入 配置檔案,如 composer.json 包管理配置檔案 json 使用最頻繁的兩個操作就是編碼和解析資料,php 官方提供了以下 2 個函式實現這兩個操作 json encode ...

資料處理 流資料處理利器

流處理 stream processing 是一種計算機程式設計正規化,其允許給定乙個資料序列 流處理資料來源 一系列資料操作 函式 被應用到流中的每個元素。同時流處理工具可以顯著提高程式設計師的開發效率,允許他們編寫有效 乾淨和簡潔的 流資料處理在我們的日常工作中非常常見,舉個例子,我們在業務開發...