之前在MyEclipse中寫的Javaweb往MySQL中插入數據時,總是會出現中文亂碼問題,真的是讓人不勝其煩。然后修改了MySQL的字符編碼,改成utf8,然后在MyEclipse中也認真檢查了一下編碼問題,發現無論是jsp還是Java 類亦或是HTML都是采用的utf-8,但是它還是會出現亂碼的問題。
於是查看了MySQL中的connection的編碼;發現是gbk編碼方式。還有server的編碼方式等,如圖:
這下總算是找到亂碼的原因了。於是想修改它的編碼方式,但是在命令行下采用:set character_set_server=utf8;這種修改方式卻沒有效果,雖然修改成功了,但是還是會亂碼,而且當我一退出MySQL,再次登陸的時候,編碼又恢復到了gbk編碼方式,所以需要修改配置文件。
這里我的MySQL版本是5.7.13.這個版本是沒有my.ini這個配置文件的,只有一個my-default.ini文件,但是在my-default.ini文件中修改是行不通的,因為MySQL啟動的時候根本加載的不是my-default.ini這個文件,所以我把my-default.ini這個文件賦值了一份,改名為my.ini文件,並且跟my-default.ini放在同一個目錄下,然后打開my.ini文件,添加下圖中的語句:
注意:[mysqld]這個標簽是已經存在的,所以我們只要在它下面加:character_set_server=utf8就行了。
然后以管理員方式運行cmd,輸入:net stop mysql 停止服務
然后在輸入:net start mysql 啟動服務
然后登陸MySQL。輸入 :\s; 你就會發現編碼已經修改成功了。如下圖:
這時候你在往MySQL中出入中文數據,你會發現亂碼問題解決了。
