存數據的時候以一種編碼方式存,讀數據的時候以一種編碼方式讀,如果不設置編碼方式則按照默認的方式來。
前臺提交數據亂碼
在前臺提交數據的時候,只要是提交漢字就會是亂碼的形式存入數據庫中(正常情況下應該是第一條數據樣式),如下圖第二條數據:
插入數據庫亂碼,經調試發現其調到action就亂碼了,因此是前臺傳過來的亂碼。
此時在web.xml裏面添加配置設置成utf-8的編碼格式就可以了:
加上org.springframework.web.filter.CharacterEncodingFilter過濾器處理就可以了。
通過這個問題總結一下:
首先所有的頁面都要使用utf-8的編碼格式,在eclipse中設置即可。
服務器加上過濾器
數據庫也要採用utf-8的編碼方式
其次,數據庫亂碼也是常見的問題:
1、mysql的文件,my.ini裏面的編碼格式:default-character-set=utf-8
2、mysql裏的數據庫和表也都設置爲utf8_unicode_ci
3、連接數據庫語句加上utf-8格式:jdbc:mysql://localhost/DBname?useUnicode=true&characterEncoding=utf-8
總結:
亂碼問題是一些經典又細節的問題,經常見到,只要設置上我們需要的編碼格式就會極少的出現這種現象,節省時間。