mysql emoji表情_让MySQL支持Emoji表情 mysql 5.6
最近在做微信相關(guān)的項目,其中MySQL 要存儲emoji表情,因此發(fā)現(xiàn)我們常用的utf8 字符集根本無法存儲表情。網(wǎng)上有不少替代方案。本人還是采用了修改MySQL字符集的方案簡單快捷。
首先將我們數(shù)據(jù)庫默認(rèn)字符集由utf8 更改為utf8mb4,對應(yīng)的表默認(rèn)字符集也更改為utf8mb4 ?已經(jīng)存儲表情的字段默認(rèn)字符集也做了相應(yīng)的調(diào)整。
SQL 語句如:
# 修改數(shù)據(jù)庫:
ALTER DATABASE database_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
# 修改表:
ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
# 修改表字段:
ALTER TABLE table_name CHANGE column_name column_name VARCHAR(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
其次修改MySQL配置文件
新增如下參數(shù):
[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'
最后檢查環(huán)境變量 和測試 SQL 如下:
mysql> SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%';
+--------------------------+--------------------+
| Variable_name??????????? | Value????????????? |
+--------------------------+--------------------+
| character_set_client??? | utf8mb4??????????? |
| character_set_connection | utf8mb4??????????? |
| character_set_database? | utf8mb4??????????? |
| character_set_filesystem | binary??????????? |
| character_set_results??? | utf8mb4??????????? |
| character_set_server??? | utf8mb4???? ???????|
| character_set_system??? | utf8????????????? |
| collation_connection??? | utf8mb4_unicode_ci |
| collation_database????? | utf8mb4_unicode_ci |
| collation_server??????? | utf8mb4_unicode_ci |
+--------------------------+--------------------+
遇到問題如下:
rows in set (0.00 sec)
解決辦法:
mysql:sql alter table 修改列屬性的字符集
//這里要寫兩次屬性名
alter table tweets change WeiboContent WeiboContent varchar(350) character set utf8mb4 collate utf8mb4_unicode_ci;
//或者
alter table tweets modify column WeiboContent varchar(350) character set utf8mb4 collate utf8mb4_unicode_ci default null;
安裝mysql后登錄提示:ERROR 1045 (28000): Access denied for user
error: 'Access denied for user 'root'@'localhost' (using password: NO)'
安裝完成后,連接到MySQL服務(wù)時輸入命令 “ mysql -uroot -p ” ,因為時第一次登錄,未設(shè)置密碼,直接回車,就遇到了這個問題,錯誤信息如下'root'@'localhost' (using password:yes)
解決如下:
1.停止mysql服務(wù)
systemctl stop mysqld.service
2.修改配置文件無密碼登錄
vim? /etc/my.cnf
在最后加上
skip-grant-tables
保存
3.啟動mysql
systemctl? start? mysqld.service
4.登錄mysql
mysql -u root
注意這里不要加-p
5.修改密碼,mysql5.7用此語法
use mysql;
update?mysql.user?set?authentication_string=password('123456')?where?user='root'?;
6.回到第二部把剛加的那句刪掉
保存,重啟mysql就可以了
總結(jié)
以上是生活随笔為你收集整理的mysql emoji表情_让MySQL支持Emoji表情 mysql 5.6的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android 备忘录 知乎,实用的语音
- 下一篇: asp.net 日期转换