java操作資料庫,查詢表出現亂碼。
阿新 • • 發佈:2022-04-02
1.分析出現問題原因
根據出現亂碼‘?’,可以判斷可能是插入的資料中含有中文而資料庫編碼方式不相容中文導致的。
2.如何解決?
根據上面的判斷,需要修改資料庫的編碼方式。
(1)找到安裝mysql的目錄,如下圖所示情況
(2)建立myini配置檔案,具體內容如下(注意myini檔案不是放入到bin目錄裡面!!!)
[client]#客戶端 default-character-set=utf8 port = 3306 [mysqld]#伺服器 basedir=D:\environment\mysql\mysql-5.7.19\mysql-5.7.19- winx64\ datadir=D:\environment\mysql\mysql-5.7.19\mysql-5.7.19-winx64\data\ port=3306 skip-grant-tables character_set_server=utf8
(3)配置完成後需要重新啟動mysql服務(在管理員許可權下執行命令列)
①關閉服務net stop mysql
②啟動服務net start mysql
(4)登入mysql查詢編碼方式
通過如下命令列查詢 show variables like 'character_set_%';
小結:修改mysql的編碼方式:①找到mysql的安裝目錄下的bin目錄②在此處建立一個配置檔案(如果已經存在則直接修改內容),並修改編碼格式 ④重啟mysql服務即可成功設定編碼格式