程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> 分割GBK中文遭遇亂碼的解決方法

分割GBK中文遭遇亂碼的解決方法

編輯:PHP綜合

類似如下的字符串(GBK), explode不能得到正確結果:

1.$result = explode("|", "滕華弢|海青"); 究其原因, 對於”弢”字(讀tao,不認識沒關系,我也不認識), 因為他的GBK編碼值為: 8f7c, 不巧的是, “|”的ASCII值也是7c.

這樣的問題, 還有很多 : 因為GBK編碼的編碼范圍是: 0×8140-0xfefe, 所以, 理論上來說, 任何低字節是7c的字都會有這個問題, 比如:

1.倈(827c), 億(837c), 眧(b17c), 鍇(e57c).......等等等等對於這樣的情況,

1.第一, 可以采用轉碼到utf8, 然後explode, 再轉回來, 這是比較麻煩的方法.
2.第二, 我們可以采用正則拿"匹配出"來代替"分離出":
3.preg_match_all("/([/x81-/xfe][/x40-/xfe])+/", $gbk_str, $matches);//寫死編碼這樣, $matches中0號索引對應的數組就是結果詞的數組了..

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved