第一個方法:
1、 編輯MySql的配置文件
MySql的配置文件Windows下一般在系統目錄下或者在MySql的安裝目錄下名字叫my.ini,可以搜索,Linux下一般是/etc/my.cnf
--在 [mysqld] 標簽下加上以下內容:
default-character-set = utf8
character_set_server = utf8
注意:如果此標簽下已經存在“default-character-set=GBK”類似的內容,只需修改即可。
--在 [mysql] 標簽下加上一行
default-character-set = utf8
--在 [mysql.server]標簽下加上一行
default-character-set = utf8
--在 [mysqld_safe]標簽下加上一行
default-character-set = utf8
--在 [client]標簽下加上一行
default-character-set = utf8
2、 重新啟動MySql服務
Windows可在服務管理器中操作,也可使用命令行:
net stop mysql 回車
net start mysql 回車
服務名可能不一定為mysql,請按自己的設置
Linux下面可是用 service mysql restart
第二個方法:
設置外部訪問的編碼
set names "utf8";

然后查看表中的中文是否改變,好像只是暫時改變的。
第三個方法:
手把手教你如何在mysql 中使用中文編碼
1.首先在docker中拉取好一個最新的mysql鏡像以后,創建一個容器:

docker run -d -p 13306:3306 -e MYSQL_ROOT_PASSWORD=xxxxxx--name MYDB mysql
參數的解釋:
- -d 設置detach為true
- -p port 映射端口 13306
- -e environment 設置密碼 xxxxx
2. docker ps 查看mysql容器是否啟動,進去容器

docker exec -ti xxx(容器id) /bin/bash
理論上應該啟動正常 進去容器內部
3.查看mysql密碼 是否正常
mysql -u root -p
在提示下輸入密碼 xxxxx 正常情況下,應該出現以下提示符mysql>

!!重點來了!!
1.前期工作 查看當前mysql字符集情況
mysql>SHOW VARIABLES LIKE 'character_set_%';//查看數據庫字符集
基本上都如下圖所示:默認就是瑞典latin1

SHOW VARIABLES LIKE 'collation_%';

圖上的第一個 connection 就是我們通過workbench等客戶端連接的時候指定的編碼。
外部訪問數據亂碼的問題就出在這個connection連接層上
1.先解決外部訪問數據亂碼的問題
SET NAMES 'utf8';
它相當於下面的三句指令:
SET character_set_client = utf8; SET character_set_results = utf8; SET character_set_connection = utf8;
2.創建數據庫,創建表的時候,包括設置字段的時候也要加上字符集設置:
例如
create database MYDB character set utf8; use JSPDB; create table t_product( pid varchar(20), pname varchar(20), price double, address varchar(30) ) DEFAULT CHARSET=utf8;
3.如果你應經有建立了數據庫,也可以通過以下語句修改字符集
當然 如果是剛剛建容器的時候 我想你肯定是沒有數據庫的,所有此步跳過
alter database name character set utf8;#修改數據庫成utf8的. alter table type character set utf8;#修改表用utf8. alter table type modify type_name varchar(50) CHARACTER SET utf8;#修改字段用utf8
4.這一步是很重要的來修改配置文件
mysql容器的配置文件在哪呢?
我們進去容器。不輸入mysql -u root -p(即登錄數據庫)
配置文件在etc/mysql/mysql.conf.d/mysql.cnf這個文件里頭

我們找到這個文件 編輯他vi mysql.cnf,在使用docker容器時鍵入vim命令時提示:
vim: command not found
這個時候就需要安裝vim
這時候需要敲:
apt-get update
等更新完畢以后再敲命令:
apt-get install vim
然后你發現vim 編輯器可以使用以后,在此文件中添加如下字段
在 [mysqld] 標簽下加上三行
default-character-set = utf8 character_set_server = utf8
在 [mysql] 標簽下加上一行
default-character-set = utf8
在 [mysql.server]標簽下加上一行
default-character-set = utf8
在 [mysqld_safe]標簽下加上一行
default-character-set = utf8
在 [client]標簽下加上一行
default-character-set = utf8
修改結果如下:

那么如何檢驗成功了呢?
還記得我們怎么檢查mysql字符集編碼的嗎 ?
SHOW VARIABLES LIKE 'character_set_%';

我們發現有很多都變成utf8了
SHOW VARIABLES LIKE 'collation_%';

以上基本的工作都做完了。
