背景:在做 javaweb 項目的時,前台傳遞的中文最后插入數據庫的時候總是出現亂碼現象。
解決方案
A、不管是使用 Idea、eclipse,確定自己的項目所使用的字符集是 UTF-8
。
B、查看 MySQL
的字符集是否是 UTF-8
。打開 Dos
窗口,輸入:mysql -u root -p
, 在輸入密碼即可進入數據庫。進入數據庫輸入命令 :show variables like 'character%';
查看數據庫的字符集,如下圖:
MySQL
的默認編碼是 Latin1
,不支持中文,要支持中文需要把數據庫的默認編碼修改為 UTF-8
。
C、修改 MySQL 的字符集。
① 使用命令修改數據庫的字符集為 UTF-8
。(由於小編使用命令設置后依舊不能插入,不在此贅述)
② 修改 MySQL
的配置文件。(修改后,成功插入中文,在此介紹這種方法)
D、本人安裝的 `MySQL` 版本是 5.7.25,安裝好 `MySQL` 后就要對字符集進行修改了,網上的大部分說法是去 安裝目錄找一個 `my-default.ini` 文件,然后重命名為 `my.ini`,再對其進修改字符集即可,但是 在`MySQL` 的安裝目錄下居然沒有這個文件。
其實 MySQL
的 5.7.25 的 my.ini
文件不在安裝目錄下,如果是默認安裝 MySQL
的,那么它的 my.ini
文 件在隱藏文件夾 C:\ProgramData\MySQL\MySQL Server 5.7
下。
你需要做的就是顯示隱藏的的項目,找到這個文件修改即可(修改前,請先做備份)。
對該 my.ini
文件下進行配置修改 :
[client]
default-character-set = utf8
[mysql]
default-character-set = utf8
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8
collation-server = utf8_unicode_ci
init_connect=’SET NAMES utf8’
E、修改 my.ini
文件后,保存,再重啟 MySQL
服務。
計算機——右鍵——管理——服務,找到 MySQL57
,對其右鍵停止,再啟動即可
F、重啟成功后,進入 MySQL
數據庫,輸入show variables like 'character%';
顯示數據庫字符集已修改成功。
重要提示:
對於中文亂碼問題,小編只是列舉了一種可能性,以及解決方案。當然最重要的是肯定還有很多原因導致中文亂碼,都會有相應的解決方案。作為程序猿,應當懂得 google,正所謂自己動手,豐衣足食。