真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Emoji表情符號入MySQL數(shù)據(jù)庫報錯的解決方案

    auther:Jane.Hoo
    上周有開發(fā)人員反饋一個問題:前臺應(yīng)用抓取微博信息,每天總有幾條數(shù)據(jù)插入不成功。應(yīng)用日志顯示:
  java.sql.SQLException: Incorrect string value: '\xF0\x9F\x92\xAA",...' for column 'raw_json' at row 1, 異常:org.springframework.jdbc.UncategorizedSQLException:
  其中raw_json字段顯示如下:

站在用戶的角度思考問題,與客戶深入溝通,找到勐臘網(wǎng)站設(shè)計(jì)與勐臘網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗(yàn)好的作品,建站類型包括:成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名注冊、虛擬空間、企業(yè)郵箱。業(yè)務(wù)覆蓋勐臘地區(qū)。

Emoji表情符號入MySQL數(shù)據(jù)庫報錯的解決方案

  由上圖可知,插入的字段里面包含emoji表情符?;究梢耘卸ㄊ亲址幋a的問題。我們的數(shù)據(jù)庫里面使用的是utf8編碼,普通的字符串或者表情都是占位3個字節(jié),所以utf8足夠用了,但是移動端的表情符號占位是4個字節(jié),普通的utf8就不夠用了,為了應(yīng)對無線互聯(lián)網(wǎng)的機(jī)遇和挑戰(zhàn)、避免 emoji 表情符號帶來的問題、涉及無線相關(guān)的 MySQL 數(shù)據(jù)庫建議都提前采用utf8mb4 字符集,這必須要作為移動互聯(lián)網(wǎng)行業(yè)的一個技術(shù)選型的要點(diǎn)。

utf8與utf8mb4說明:
  UTF- 8:Unicode Transformation Format-8bit,允許含BOM,但通常不含BOM。是用以解決國際上字符的一種多字節(jié)編碼,它對英文使用8位(即一個字節(jié)),中文使用24為(三個字節(jié))來

編碼。UTF-8包含全世界所有國家需要用到的字符,是國際編碼,通用性強(qiáng)。UTF-8編碼的文字可以在各國支持UTF8字符集的瀏覽器上顯示。如,如果是UTF8編碼,則在外國人的英文IE上也能

顯示中文,他們無需下載IE的中文語言支持包。
  UTF8MB4:MySQL在5.5.3之后增加了utf8mb4的編碼,mb4就是most bytes 4的意思,專門用來兼容四字節(jié)的unicode。
  

既然找到了原因就來執(zhí)行吧.既然只有raw_json列含表情符,就先修改此列的字符集:
 ALTER TABLE xx_pnl_weibo_usershow  MODIFY ` raw_json` varchar(3000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ;
  改完后測試,插入失敗。
  修改表的字符集:
  alter table xx_pnl_weibo_usershow CHARSET=utf8mb4 ;
  改完后測試,插入失敗。
  修改庫級別的字符集
  vi /etc/my.cnf
  [client]
  default-character-set=utf8mb4
  [mysqld]
  character-set-server = utf8mb4
  service mysqld restart
  改完后測試,插入成功。
  emoji表情編碼參考: 

  http://punchdrunker.github.io/iOSEmoji/table_html/flower.html

 因?yàn)槭蔷€上生產(chǎn)業(yè)務(wù),需要先在測試環(huán)境做好測試工作。避免業(yè)務(wù)高峰期,線上申請停機(jī)窗口操作。


當(dāng)前名稱:Emoji表情符號入MySQL數(shù)據(jù)庫報錯的解決方案
標(biāo)題網(wǎng)址:http://weahome.cn/article/pjcsse.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部