mariadb設定各種預設編碼為utf8
阿新 • • 發佈:2018-12-27
1、登入MySQL,使用
SHOW VARIABLES LIKE 'character%
檢視當前使用的字符集,應該有好幾個不是UTF-8格式。
2、要修改的配置檔案位於 /etc/my.cnf.d目錄下:
# 編輯/etc/my.cnf vim /etc/my.cnf # 在[mysqld]標籤下新增下面內容 default-storage-engine = innodb innodb_file_per_table max_connections = 4096 collation-server = utf8_general_ci character-set-server = utf8 # 編輯/etc/my.cnf.d/client.cnf vim /etc/my.cnf.d/client.cnf # 在[client]標籤下新增下面內容 default-character-set=utf8 # 編輯/etc/my.cnf.d/mysql-clients.cnf vim /etc/my.cnf.d/mysql-clients.cnf # 在[mysql]標籤下新增下面內容 default-character-set=utf8
3、再次檢查編碼
SHOW VARIABLES LIKE 'character%
>show variables like 'character%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
說明:
- 已建的庫和表,編碼不會改變。如果在已有庫中繼續建表,表依然會繼承來自庫的過去使用的編碼
- 編碼解釋:
character_set_client為客戶端編碼方式;
character_set_connection為建立連線使用的編碼;character_set_database資料庫的編碼;
character_set_results結果集的編碼;
character_set_server資料庫伺服器的編碼;
只要保證以上四個採用的編碼方式一樣,就不會出現亂碼問題。