- 相關推薦
PHP中json-encode格式中文問題解決辦法
生活、工作、學習倘使都能自動,則教育之收效定能事半功倍。所以我們特別注意自動力之培養,使它關注于全部的生活工作學習之中。自動是自覺的行動,而不是自發的行動。自覺的行動,需要適當的培養而后可以實現。以下是小編為大家搜索整理的PHP中json_encode格式中文問題解決辦法,希望對大家有所幫助!更多精彩內容請及時關注我們應屆畢業生考試網!
1. 原因分析:
在存儲到數據庫時!MySQL 不會存儲 unicode 字符:
MySQL 僅支持從基本的多語種平面字符 (0×0000-0xFFFF)。請嘗試存儲一個同義詞相反:)
更新: MySQL 5.5.3 上 (其中尚未 GA), 支持補充字符如果您使用 UTF8MB4 編碼。
json_encode中文的時候,會把每個中文字符encode成“uxxxx”
而存進數據庫的時候,“”被屏蔽了,直接變成”uxxxx”
2. 解決問題:
知道是什么原因就好解決問題了,你可以選擇其他存儲方式;
或者再對癥下藥進一步轉義””為“”,以保留””
我們的解決方案:
1. 避免json_encode將中文轉換unicode編碼.
PHP5.4版本,已經給Json新增了一個選項: JSON_UNESCAPED_UNICODE。加上這個選項后,就不會自動把中文編碼了。
$test = json_encode("深圳", JSON_UNESCAPED_UNICODE);
2. 先將中文字段urlencode,json_encode后,再用urldecode,也可以保證中文不會被轉成unicode。
$test =urldecode(json_encode(array('brief'=>urlencode('簡介'),'title'=>urlencode(標題)));
3. 進一步轉義””為“” 避免unicode中文前’'被mysql當成特殊字符去除
【PHP中json-encode格式中文問題解決辦法】相關文章:
完美解決PHP中文亂碼問題07-18
php中zend相對路徑問題10-29
php字符串截取問題05-02
PHP中多態如何實現09-04
PHP中實現頁面跳轉07-06
PHP中this關鍵字06-08
PHP中的trait是什么08-13
php中fsockopen用法實例06-20
PHP前端開發中的性能05-25
php中引用的用法分析06-22