微信emoji表情編碼 、MySQL 存儲 emoji 表情符號字符集


相關資料

微信emoji表情編碼

微信用戶名顯示「emoji表情」

PHP處理微信中帶Emoji表情的消息發送和接收(Unicode字符轉碼編碼)

MySQL 存儲emoji表情

MySQL 存儲 emoji 表情符號字符集

 

遇到的問題

項目中有個 H5頁面 聊天模塊,當用戶輸入 emoji表情符時,插入數據表時報錯

incorrect string value: '\xF0\x9F\x98\x84' for column 'content' at row 1

數據庫/數據表/表字段 的字符集為 utf8_general_ci,根據上面的“相關資料”,需要做些如下處理:

1、把 PHP 連接 MySQL 的字符集 由 utf8 改為 utf8mb4;

ThinkPHP框架中,改下 配置文件 /ThinkPHP/Conf/convention.php 的 DB_CHARSET 為 utf8mb4 (默認為 utf8);

2、把 聊天記錄表的 聊天內容字段的 字符集改為 utf8mb4_general_ci

注意:數據庫、數據表 的字符集都不用改,只改 聊天內容字段 即可!

產生的結果

1、數據表能正常存儲 emoji表情;

2、微信(瀏覽器)的 蘋果版 可以輸入和顯示 emoji表情,而 安卓手機輸入時,亂碼,但可以顯示部分的 由蘋果手機輸入的 emoji表情;

3、在 最新的 PC 端的 Chrome 56 瀏覽器上,可以 正常輸入和顯示 emoji表情;

 

總結

平常新建數據庫時,選擇字符集 utf8mb4_general_ci

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM