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

相關資料

微信emoji表情編碼php

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

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

MySQL 存儲emoji表情sql

MySQL 存儲 emoji 表情符號字符集數據庫

 

遇到的問題

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

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

數據庫/數據表/表字段 的字符集爲 utf8_general_ci,根據上面的「相關資料」,須要作些以下處理:微信

一、把 PHP 鏈接 MySQL 的字符集 由 utf8 改成 utf8mb4;

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

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

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

產生的結果

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

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

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

 

總結

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

 

相關文章
相關標籤/搜索