我通過微信接口讀用戶的昵稱,但好多名字都是一些特殊字符,如上圖,這些特殊字符存不進(jìn)mysql數(shù)據(jù)庫(kù)也沒什么意義。所以我想過濾一下,名字字符中只把漢字字母與數(shù)字提取出來。這個(gè)用PHP怎么寫。
最后就是這個(gè)方法,其實(shí)你只是存不進(jìn)emoji而已。過濾掉emoji就OK。
來源在這里
其實(shí)是emoji表情符號(hào)存不進(jìn)mysql這種表情不處理直接存儲(chǔ)到mysql5.5以下的版本會(huì)報(bào)錯(cuò)可以修改數(shù)據(jù)庫(kù)字符集為utf8mb4試試github上有emoji unicode提取的范圍,參照范圍在過濾的時(shí)候進(jìn)行匹配即可
完整的存取,mysql是支持的,轉(zhuǎn)換下字符集就好了,utf8mb4是utf8的超集,向下兼容的,修改這個(gè)是最完美的解決方法。
其次就是代碼層面的轉(zhuǎn)碼,編碼一下,再存,取出來反編碼再展示,也可以。
這些特殊字符存不進(jìn)mysql數(shù)據(jù)庫(kù)也沒什么意義 ----有意義的,圖標(biāo)啊,字段類型用 varbinary 試試