MySql修改默認字符編碼


1:windows下

在命令行下,查看當前數據庫編碼

show variables like '%char%';

mysql> show variables like '%char%';
+--------------------------+---------------------------------------------------------+
| Variable_name | Value |
+--------------------------+---------------------------------------------------------+
| character_set_client | utf8mb4 |
| character_set_connection | utf8mb4 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8mb4 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | D:\Program Files\MySQL\MySQL Server 5.6\share\charsets\ |
+--------------------------+---------------------------------------------------------+

可以看到,當前數據庫客戶端默認是utf8編碼,服務端是latin1編碼

可以通過 set character_set_server=utf8改變服務端編碼

mysql> set character_set_server=utf8;
Query OK, 0 rows affected

再次使用show variables like '%char%';查看字符編碼

mysql> show variables like '%char%';
+--------------------------+---------------------------------------------------------+
| Variable_name | Value |
+--------------------------+---------------------------------------------------------+
| character_set_client | utf8mb4 |
| character_set_connection | utf8mb4 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8mb4 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | D:\Program Files\MySQL\MySQL Server 5.6\share\charsets\ |
+--------------------------+---------------------------------------------------------+
8 rows in set

已經修改過來了,

但是這樣的修改,在數據庫重新啟動之后,數據庫編碼依然會還原,

此時可以用這個命令

mysql> set global character_set_server=utf8;
Query OK, 0 rows affected

直接修改mysql.ini配置文件來的最穩妥,

找到\ProgramData\MySQL\my.ini,這個就是mysql的配置文件

在[client]節點內

添加如下編碼信息

[client]

# pipe=

# socket=MYSQL

port=3306
default-character-set=utf8 #utf8mb4
default-collation=utf8_general_ci #utf8mb4

在數據庫連接配置的url后邊加上characterEnconding=utf8

jdbc:mysql://localhost:3306/xxxx?characterEncoding=utf8&serverTimezone=Asia/Shanghai

即可完美解決。

 

2:linux下,同理

使用whereis 或者which 查找mysqld或者mysql的具體安裝位置

一般配置文件都在/etc目錄下。

然后在port下邊添加

default-character-set=utf8 #utf8mb4
default-collation=utf8_general_ci #utf8mb4

即可。

然后

serviece mysqld restart

重啟,,mysql服務

 

 

 


免責聲明!

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



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