mysql插入中文資料變成問號的問題
【寫在前面】也許在看這篇文章的你因為這個事情煩惱,網上說的都是什麼修改my.ini檔案,可是當你發現你的伺服器安裝的mysql沒有這個配置檔案豈不是特別的疼。
疼就對了,按照我的方法一步步保障你能夠配置成功,不然你們打的我疼。
第一步:首先檢驗一下你自己的程式碼基本配置
1.Jdbc.properties資料庫配置檔案後面是不是加了characterEncoding=utf-8,如下圖所示:
發現沒有的話別傻看著,趕緊加起來
2.web.xml有沒有配置編碼過濾器,就像是這種
沒有的話你自己看著辦,嘿嘿,為了方便你們複製在下面寫一下(是不是很貼心)
<!-- 配置編碼過濾器 --> <filter> <filter-name>characterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>utf-8</param-value> </init-param> </filter>
第二步:當你發現上面兩個檔案都沒有問題的話,我們就來看看這個配置檔案啦.
1.看資料庫編碼格式
先登入伺服器,進到你的資料庫,登入資料庫命令(下面的資料庫名指的是你建立的資料庫名稱,比如說test):
mysql -u root -p 資料庫名
然後執行下面的命令檢視你資料庫的編碼格式
show variables like ‘char%’;
就是這個latin1在作怪,那麼這個問題怎麼解決呢?不要心急往下看.
2.修改mysql內部配置檔案
先宣告一下,最新下載的官網mysql安裝包貌似都是沒有my.ini檔案,但是一定有my.cnf檔案,這個時候你就應該去你伺服器看下在哪,當然一般都在根目錄下的etc/下面。
找到的話你就可以繼續往下看,沒找到的自己反省(給我留言,我幫你找)
命令列:vim my.cnf
【核心】執行i命令進入編輯模式,在[mysqlid]下面新增下面一句話,也就是漢字編碼格式相容
character-set-server=utf8
:wq命令儲存並退出。
3.重啟mysql大功告成
我的是在根目錄的bin下面執行這兩個實現停啟
systemctl stop mysqld.service
systemctl start mysqld.service
然後你可以很自豪的登入mysql,執行上面這個命令檢視你資料庫的編碼格式
show variables like ‘char%’;
是不是很驚喜很意外,哈哈哈哈。
最終經過不洩的努力,總算是把這個中文資料錄入進去了,哈哈哈哈,真尼瑪佩服自己,都想給自己轉個錢啥的,問號什麼的可以滾一邊去了。
三.問題解決,賞了
皮一下很開心,這個zfb二維碼是認真的,實在土豪可以掃一掃扶貧,>=10元的將將代寫表白情詩一首
(支付寶加好友私發物件名字)
扶貧1元即上榜,看看有多少人
*(隨機抽取獲獎66.6元紅包:來自浙江嘉興的“曉晨”,也感謝各位網友的扶貧贊助)
自己購買雲服務,寫了一套程式碼表示感謝,感恩我是認真的
http://www.bcodelove.top:8080/bcode/jsp/apphome/rewardlist/rewardlist.html