出現的問題是下圖這樣的亂碼問題,我是使用java在作練習的時候發現出現字符集編碼問題的:前端
當時是使用jdbc來添加的數據,個人jdbc包括web前端後端的編碼都是設置的是utf-8的編碼,因此問題只能是mysql本身的編碼問題。java
上面中的這個圖片中有一個是沒有出現亂碼的,這個是我在mysql的終端中本身用命令手動添加的,因此沒有出現亂碼。這個懷疑是jdbc鏈接的時候出現的亂碼問題!mysql
經過下面的命令來感覺一下,究竟是什麼地方不對,這是查看mysql中各類服務的編碼問題(由於建表的時候就已經指定了數據庫的編碼,因此我以爲是沒有問題的,只能是mysql本身的問題)web
show variables like 'character%';
這個是個人默認的mysql的字符編碼,咱們看見character_set_server的字符編碼是latin1,我估計就是這個形成的,由於個人是設置過的,默認的character_set_database也是latin1的編碼格式,因此咱們要解決這個問題。sql
設置上面的集中編碼格式數據庫
一個一個設置後端
set character_set_client=utf8;
就是上面這個命令,把character_set_client這個換成想要更改的就行了。服務器
簡單介紹下:學習
character_set_client:客戶端字符集
character_set_connection:連接字符集
character_set_database:數據庫字符集
character_set_filesystem:文件系統
character_set_results:結果字符集
character_set_server:服務器字符集
character_set_system:mysql系統字符集編碼
若是上面這種辦法麻煩,可使用
set names utf8;
這個命令同時將客戶端字符集,連接字符集,結果字符集設置成utf8的字符編碼。
可是上面這種辦法當mysql下次登陸的時候還會變成原來的默認設置,只是暫時的改變當前的字符編碼!
3.2 設置mysql配置文件
在mac上默認是沒有配置文件的,須要到/usr/local/mysql/support-files
目錄下將mac上的mysql配置文件模板my-default.cnf
拷貝到/etc
下,並將文件名改爲my.cnf
在my.cnf中找到[client][mysqld]分別添加下面兩句話
[client] default-character-set=utf8 [mysqld] character-set-server=utf8
而後將mysql從新啓動:
設置了以後從新啓動後mysql的字符編碼問題就能夠獲得解決!
記錄學習的每一步,記錄每一次的成長!!!!