最近自己閒做乙個小專案,搭建環境框架ssh+mysql資料庫,遇到乙個問題:jsp頁面中文顯示亂碼,資料庫插入資料和更新資料時中文也顯示亂碼,後來在網上找了許多解決方法,還是折騰了兩天才把問題解決,下面總結一下徹底解決中文亂碼問題:
在專案裡的我統一使用utf-8的編碼方式
1、知道自己安裝mysql資料庫安裝配置時選擇了什麼編碼方式,如果之前安裝,現在不太清楚,建議重新安裝mysql資料庫,安裝配置時選擇utf8
(這裡有個小技巧:不用解除安裝mysql資料,找到安裝mysql資料庫目錄:d:\mysql server 5.1\bin下的mysqlinstanceconfig.exe,雙擊執行可以進行重新配置安裝,並選擇utf8編碼方式),如圖
2、安裝成功後,檢視編碼方式,sql命令如下:
這裡的所有編碼方式都要統一為utf8,若某乙個不是utf8的編碼方式,就要設定為utf8,sql命令如下:set character_set_results=utf8
3、建立資料庫並指定資料庫的編碼方式,sql命令如下:
create database yourdb character set utf8;
4、建立資料庫表,也要指定其編碼方式
5、如果你的mysql版本是5.0以下,則還需要在hibernate.cfg.xml配置裡面url指定資料庫訪問連線時的編碼方式:
如:url=jdbc:mysql://localhost/db?user=user&password=123456&useunicode=true&characterencoding=utf8
如果mysql版本是5.0以上,這裡的url加不加?user=user&password=123456&useunicode=true&characterencoding=utf8 都沒關係
6、寫乙個字元編碼的過濾器,編碼方式也要保證跟mysql的字符集一致為utf-8
7、所有jsp頁面指定編碼格式,保證跟mysql的字符集一致為utf-8
注意:頁面裡面大小寫統一,如,不能是pageencoding="utf-8",contenttype="text/html; charset=utf-8",新增資料頁面也要跟顯示資料頁面的編碼格式要保持一致,不然的話就會出現新增到資料庫中沒亂碼,從資料庫中顯示出現亂碼的情況
徹底解決Oracle中文亂碼
服務端字符集 作業系統字符集 nls lang字符集 select from nls database parameters locale export american america.al32utf8 en us.utf 8 american america.zhs16gbk create ta...
徹底解決mysql中文亂碼
檢視資料庫編碼 show variables like char 修改字元編碼 set character set server utf8 set character set database utf8 show variables like char global範圍 mysql設定變數的範圍預設...
徹底解決springMVC中文亂碼
一 頁面編碼 二 url中的亂碼改tomcat中server.xml中connector的port 8080 加上乙個 uriencoding utf 8 三 配置過濾器,指定所有請求的編碼 1 配置spring的編碼過濾器,為了防止spring中post方式提交的時候中文亂碼,方法 修改web.x...