十年網(wǎng)站開(kāi)發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無(wú)憂售后,網(wǎng)站問(wèn)題一站解決
本篇內(nèi)容介紹了“如何解決GBK中文遭遇亂碼的問(wèn)題”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
類似如下的字符串(GBK), explode不能得到正確結(jié)果:
1.$result = explode("|", "滕華弢|海青"); 究其原因, 對(duì)于”弢”字(讀tao,不認(rèn)識(shí)沒(méi)關(guān)系,我也不認(rèn)識(shí)), 因?yàn)樗腉BK編碼值為: 8f7c, 不巧的是, “|”的ASCII值也是7c.
這樣的問(wèn)題, 還有很多 : 因?yàn)镚BK編碼的編碼范圍是: 0×8140-0xfefe, 所以, 理論上來(lái)說(shuō), 任何低字節(jié)是7c的字都會(huì)有這個(gè)問(wèn)題, 比如:
1.倈(827c), 億(837c), 眧(b17c), 鍇(e57c).......等等等等對(duì)于這樣的情況,
1.第一, 可以采用轉(zhuǎn)碼到utf8, 然后explode, 再轉(zhuǎn)回來(lái), 這是比較麻煩的方法.
2.第二, 我們可以采用正則拿"匹配出"來(lái)代替"分離出":
3.preg_match_all("/([/x81-/xfe][/x40-/xfe])+/", $gbk_str, $matches);//寫死編碼這樣, $matches中0號(hào)索引對(duì)應(yīng)的數(shù)組就是結(jié)果詞的數(shù)組了..
“如何解決GBK中文遭遇亂碼的問(wèn)題”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!