PHP除去unicode続:json_エンコードの後は、文字だけがあって、数字がなくなった解決方法です.

1198 ワード

前文に続くhttp://blog.csdn.net/yanzi1225627/article/details/44985487 このように処理してしばらくの間、確かに問題は発見されませんでした.しかし、最近は「入力」などのbugが見つかりました.encodeの後、preg_replaceは、すぐに「はい」になります.数字がなくなりました.悩んでみましたが、これを交換する方法が間違っています.
preg_replace("#\\\u([0-9a-f]+)#ie","iconv('UCS-2','UTF-8', pack('H4', '\\1'))",$json) 
次のように言い換えればOKです.
preg_replace("/\\\\u([a-f0-9]{4})/e", "iconv('UCS-4LE','UTF-8',pack('V', hexdec('U$1')))",$json2)
また、phpのバージョンが高かったら、やはりJson_を使います.encode(a、JSONUNESCAPEDUNUNICODE)がいいです.