MySQL 數據庫保存 Emoji 表情及特殊符號

MySQL 數據庫保存 Emoji 表情及特殊符號

何為 utf8mb4:

  1. mysql在5.5.3版本之后增加了這個utf8mb4的編碼,mb4就是most bytes 4的意思,專門用來兼容四字節的unicode。其實,utf8mb4是utf8的超集

解決方法:

  1. 查看編碼字符集:
    • SHOW ?VARIABLES ?WHERE Variable_name LIKE ?‘character_set_%’ ?OR Variable_name LIKE ?‘collation%’;
    • 如結果為下圖所示,則『引起保存不了特殊符號的原因可能與本文不同,這篇文章可能解決不了您的問題』;
      MySQL 數據庫保存 Emoji 表情及特殊符號
    • 如若結果中的 value 字段與上圖有出入,請繼續閱讀本文;
  2. 修改數據庫編碼:
    • ALTER DATABASE database CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;;
  3. 修改數據表編碼:
    • ALTER TABLE table CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;;
  4. 修改表字段編碼為:
    • ALTER TABLE table CHANGE column column VARCHAR(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;;
  5. 編輯 my.ini 文件,添加或修改如下內容:
    [client] default-character-set = utf8mb4 [mysql] default-character-set = utf8mb4 [mysqld] character-set-client-handshake = FALSE character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci init_connect='SET NAMES utf8mb4'
  6. 重啟 Mysql:
    • service mysqld restart;
  7. 再次查看編碼字符集,如果與上文圖中結果一致,則大功告成~

更多MySQL相關技術文章,請訪問MySQL教程欄目進行學習!

? 版權聲明
THE END
喜歡就支持一下吧
點贊12 分享