首先我想說這個問題.對於我來說坑了一下午
首先問題就是我用mybatispuls 連接mysql

第一步
jdbc:mysql://localhost:3306/11e?useUnicode=true&characterEncoding=UTF-8
先把連接改了.設置utf-8 ,但是發現問題並沒有解決
第二步.
然后我在是不是沒有沒有配置my.cnf
查找MySQL用到的my.cnf
ps aux|grep mysql|grep 'my.cnf' 發現沒有找到. mysql --help |grep 'my.cnf' 使用這個命令發現有
在etc/下創建 my.cnf
# Default Homebrew MySQL server config [mysqld] # Only allow connections from localhost bind-address = 127.0.0.1 default-character-set=utf8 [mysqld] character-set-server=utf8 init_connect=’SET NAMES utf8’ [client] default-character-set=utf8mb4
mysql: [Warning] World-writable config file '/etc/my.cnf' is ignored 這個是因為配置MySQL權限太高了MySQL認為有風險性自動忽略了
然后我修改chmod 644 /etc/my.cnf 這個時候可以使用了
但是發現還沒有解決
第三步
因為我使用的是MySQL8.0 然后我換驅動到5.1 也是沒有解決了.
第四步
我使用mysql -uroot 進入命令行在查詢發現我的是顯示中文的

最坑的原因已經找到了.因為我連接的是navicat

我又創建了一個連接

這個時候發現我的字符是對的

