由於亂碼的地方有點神奇,所以一開始我也只是以爲IDEA的字符集不對纔會出現頁面亂碼的
這是Javaweb運行完畢後頁面呈現的亂碼,不只是數據讀取的數據出現亂碼,HTML頁面的數據也出現亂碼
這是網頁控制檯輸出
在網上一搜Javaweb項目中文亂碼,都說是字符集出現了問題,有的說是IDEA的字符編碼改成utf8,有的說Tomcat的字符集也可能會出現這樣的亂碼,按照網上報錯的方法我全試了個遍還是沒有解決,包括以爲Tomcat出錯了,把Tomcat刪了,又重新配置了一遍,還是不行。
因爲手上還有個小程序的項目也用到了這個數據庫(但是我這手上小程序連的數據庫是沒有問題的,這是比較早的一個版本的數據庫),我就想這小程序調用一下這個數據庫,看看運行出來是不是也是亂碼,一運行,小程序那邊也出現了亂碼。可以大概肯定亂碼的出處了,再用sql一查,嗯,我的媽呀,就是數據庫出現了問題。
繼續上網查找數據庫中文亂碼的解決辦法。修改數據庫的字符集啊,已經修改的和同事的一樣了,但還是亂碼,後面我一想有沒有可能我從一開始運行sql文件的時候就報了亂碼只是我自己沒有發現。
但是在現有的連接中我不管怎麼修改運行sql文件的字符集,一樣還是報亂碼,最後我創建了一個新的連接,並在高級屬性中把編碼設置爲自動
再次查詢數據庫,發現亂碼消失了
Javaweb項目也能正常運行了
總結:
1,遇到亂碼不要慌,先想想可能出錯的地方,亂碼可以先從數據庫→開發工具→服務器的順序查一遍
2,字符集編碼方式有很大的關係,不管是數據庫,開發工具
3,要是修改的地方沒有變化,這問題可能不在修改的地方出錯了
如有說的不對,望指正,謝謝!