- 相關(guān)推薦
PHP中json-encode格式中文問(wèn)題解決辦法
生活、工作、學(xué)習(xí)倘使都能自動(dòng),則教育之收效定能事半功倍。所以我們特別注意自動(dòng)力之培養(yǎng),使它關(guān)注于全部的生活工作學(xué)習(xí)之中。自動(dòng)是自覺(jué)的行動(dòng),而不是自發(fā)的行動(dòng)。自覺(jué)的行動(dòng),需要適當(dāng)?shù)呐囵B(yǎng)而后可以實(shí)現(xiàn)。以下是小編為大家搜索整理的PHP中json_encode格式中文問(wèn)題解決辦法,希望對(duì)大家有所幫助!更多精彩內(nèi)容請(qǐng)及時(shí)關(guān)注我們應(yīng)屆畢業(yè)生考試網(wǎng)!
1. 原因分析:
在存儲(chǔ)到數(shù)據(jù)庫(kù)時(shí)!MySQL 不會(huì)存儲(chǔ) unicode 字符:
MySQL 僅支持從基本的多語(yǔ)種平面字符 (0×0000-0xFFFF)。請(qǐng)嘗試存儲(chǔ)一個(gè)同義詞相反:)
更新: MySQL 5.5.3 上 (其中尚未 GA), 支持補(bǔ)充字符如果您使用 UTF8MB4 編碼。
json_encode中文的時(shí)候,會(huì)把每個(gè)中文字符encode成“uxxxx”
而存進(jìn)數(shù)據(jù)庫(kù)的時(shí)候,“”被屏蔽了,直接變成”uxxxx”
2. 解決問(wèn)題:
知道是什么原因就好解決問(wèn)題了,你可以選擇其他存儲(chǔ)方式;
或者再對(duì)癥下藥進(jìn)一步轉(zhuǎn)義””為“”,以保留””
我們的解決方案:
1. 避免json_encode將中文轉(zhuǎn)換unicode編碼.
PHP5.4版本,已經(jīng)給Json新增了一個(gè)選項(xiàng): JSON_UNESCAPED_UNICODE。加上這個(gè)選項(xiàng)后,就不會(huì)自動(dòng)把中文編碼了。
$test = json_encode("深圳", JSON_UNESCAPED_UNICODE);
2. 先將中文字段urlencode,json_encode后,再用urldecode,也可以保證中文不會(huì)被轉(zhuǎn)成unicode。
$test =urldecode(json_encode(array('brief'=>urlencode('簡(jiǎn)介'),'title'=>urlencode(標(biāo)題)));
3. 進(jìn)一步轉(zhuǎn)義””為“” 避免unicode中文前’'被mysql當(dāng)成特殊字符去除
【PHP中json-encode格式中文問(wèn)題解決辦法】相關(guān)文章:
解決PHP中文亂碼問(wèn)題05-27
完美解決PHP中文亂碼問(wèn)題07-18
php中死鎖問(wèn)題剖析10-14
php中文亂碼問(wèn)題的解決方案08-13
php如何解決中文亂碼問(wèn)題10-04
PHP中浮點(diǎn)數(shù)的計(jì)算問(wèn)題08-09