標籤:符號 ubuntu安裝 str 設定檔 and dev alt sql modify
為什麼要把資料庫的字元集設定成utf8mb4呢?以前一直用的都是utf8啊?
答案在這裡:utf8適用於不使用行動裝置的互連網互動,utf8mb4適用於當前的行動裝置互連網開發,因為行動裝置中常常會有Emoji(emoji)的儲存,它佔用4個位元組的儲存空間,而utf8是3個位元組,這樣,用3個位元組去儲存4個位元組的東西,很明顯是存不下的,會報錯,所以要用utf8mb4,並且utf8mb4是相容utf8的,那麼,就沒有理由不用utf8mb4字元集了。
介紹設定MySQL的字元集:
1 在ubuntu安裝mysql (密碼自己設定)
sudo apt-get install mysql-serversudo apt-get install mysql-clientsudo apt-get install libmysqlclient-dev
2 進入mysql,查看資訊
/etc/mysql/mysql.conf.d/mysqld.cnf
可以看到我的mysql版本是5.7的,utf8mb4有一個使用限制,mysql版本必須是5.5以上,大家需要注意,我目前用的ubuntu系統是16.04的。當前mysql的字元集配置如上表,我們的目的是更改成utf8mb4。
3 找到mysql的設定檔,可用命令
sudo find / -name my.cnf
4 修改設定檔
[client]default-character-set = utf8mb4[mysql]default-character-set = utf8mb4[mysqld]character-set-client-handshake = FALSEcharacter-set-server = utf8mb4collation-server = utf8mb4_unicode_ciinit_connect=‘SET NAMES utf8mb4‘
或直接執行:
ALTER table apps modify name varchar(2000) character set utf8mb4 collate utf8mb4_unicode_ci;
ALTER table apps charset=utf8mb4;
set names utf8mb4
mysql:設定字元集utf8mb4 支援emoji字元