分割GBK中文遭遇亂碼的解決方法
類似如下的字符串(GBK), explode不能得到正確結(jié)果:
1.$result = explode("|", "滕華弢|海青"); 究其原因, 對(duì)于”弢”字(讀tao,不認(rèn)識(shí)沒關(guān)系,我也不認(rèn)識(shí)), 因?yàn)樗腉BK編碼值為: 8f7c, 不巧的是, “|”的ASCII值也是7c.
這樣的問題, 還有很多 : 因?yàn)镚BK編碼的編碼范圍是: 0×8140-0xfefe, 所以, 理論上來說, 任何低字節(jié)是7c的字都會(huì)有這個(gè)問題, 比如:
1.倈(827c), 億(837c), 眧(b17c), 鍇(e57c).......等等等等對(duì)于這樣的情況,
1.第一, 可以采用轉(zhuǎn)碼到utf8, 然后explode, 再轉(zhuǎn)回來, 這是比較麻煩的方法.
2.第二, 我們可以采用正則拿"匹配出"來代替"分離出":
3.preg_match_all("/([/x81-/xfe][/x40-/xfe])+/", $gbk_str, $matches);//寫死編碼這樣, $matches中0號(hào)索引對(duì)應(yīng)的數(shù)組就是結(jié)果詞的數(shù)組了..
相關(guān)文章
php實(shí)現(xiàn)表單多按鈕提交action的處理方法
這篇文章主要介紹了php實(shí)現(xiàn)表單多按鈕提交action的處理方法,需要的朋友可以參考下2015-10-10基于PHP實(shí)現(xiàn)郵箱驗(yàn)證激活過程詳解
這篇文章主要介紹了基于PHP實(shí)現(xiàn)郵箱驗(yàn)證激活過程詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-10-10thinkphp項(xiàng)目部署到Linux服務(wù)器上報(bào)錯(cuò)“模板不存在”如何解決
一個(gè)項(xiàng)目部署到Linux服務(wù)器上去的時(shí)候,發(fā)現(xiàn)某些模板竟然會(huì)報(bào)錯(cuò)說“模板不存在:/Application/Admin/....”,這篇文章就是介紹了thinkphp項(xiàng)目部署到Linux服務(wù)器上報(bào)錯(cuò)“模板不存在”的解決方法,感興趣的小伙伴們可以參考一下2016-04-04PHP獲取當(dāng)前文件所在目錄 getcwd()函數(shù)
PHP 當(dāng)前目錄獲取方法。2009-05-05