先sudo su轉換成root,再用cd轉到/etc/mysql目錄下,用chmod修改權限(chmod 755 my.cnf),但這樣還不能修改,再用vi命令(sudo vi my.cnf),通過上下方向鍵將光標移到[client]下面的空行,按I鍵,添加default-character-set=utf8,再按Esc鍵,通過上下方向鍵將光標移到[mysqld]下面的空行下,添加character-set-server = utf8 init_connect='SET NAMES utf8' ,按shift+Q,出現“:”,再在后面輸入wq!,表示保存推出vi。就OK了。
需要重啟mysql服務
停用:
sudo mysqladmin shutdown -u root -p
然后輸入mysql的root用戶的密碼
啟用:
sudo mysqld_safe -user=mysql &
查看一下現在mysql的編碼
sudo mysql -u root -p
mysql>show variables like 'character%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
現在不管在mysql shell下還是JDBC都可以正常顯示中文了。但之前的數據還是不行,所以在這之前得先備份數據,修改完編碼后再導入。