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服務