從上至下統一用上UTF-8就高枕無憂,今天還是遇到字符的異常,本文將介紹解決方法
之前還以為從上至下統一用上UTF-8就高枕無憂了,哪知道今天在抓取新浪微博的數據的時候還是遇到字符的異常。
從新浪微博抓到的數據在入庫的時候拋出異常:
Incorrect string value: ‘xF0x90x8Dx83xF0x90…’
發現導致異常的字符不是繁體而是某種佛經文字。。。額滴神。。。但是按道理UTF-8應該能支持才對啊,他不是萬能的么?
原來問題出在mysql上,mysql如果設置編碼集為utf8那么它最多只能支持到3個字節的UTF-8編碼,而4個字節的UTF-8字符還是存在的,這樣一來如果你建表的時候用的utf8字符集出異常就理所當然了。
解決方法很簡單,修改字段或者表的字符集為utf8mb4。
比較蛋疼的是,字符集utf8mb4在mysql 5.5.3之后才支持。
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END