要解決jsp亂碼,首先就要了解jsp亂碼的原因
1.架設伺服器安裝mysql時的會讓你選擇一種編碼,如果這種編碼與你的網頁不一致,可能就會造成jsp頁面亂碼
2.在phpmyadmin或mysql-front等系統 建立資料庫時會讓你選擇一種編碼,如果這種編碼與你的網頁不一致,也有可能造成jsp頁面亂碼
3.建立表時會讓你選擇一種編碼,如果這種編碼與你的網頁編碼不一致,也可能造成jsp頁面亂碼
4.建立表時新增欄位是可以選擇編碼的,如果這種編碼與你的網頁編碼不一致,也可能造成jsp頁面亂碼
5.使用者提交jsp頁面的編碼與顯示資料的jsp頁面編碼不一致,就肯定會造成jsp頁面亂碼.
如使用者輸入資料的jsp頁面是big5碼, 顯示使用者輸入的jsp頁面卻是gb2312,這種100%會造成jsp頁面亂碼
6.字符集不正確
要注意:
1.平時你在某些**看到的文字可能有幾種編碼, 如你看到乙個繁體字,它有可能是big5編碼,也有 可能是utf-8編碼的,更有可能是gb碼的,沒錯,也就是說有簡體編碼的繁體字,也有繁體編碼的簡體字,一定要了解這一點.
如果你是做乙個簡體編碼的網頁,編碼定為gb2312,如果有香港和台灣地區的訪客提交繁體的資訊,就可能會造成亂碼,解決方法就是(1)將**編碼設為utf-8,這樣可以相容世界上所有字元, (2)如果**已經運作了好久,已有很多舊資料,不能再更改簡體中文的設定,那麼建議將頁面的編碼設為gbk,
gbk與gb2312的區別就在於:gbk能比gb2312顯示更多的字元,要顯示簡體碼的繁體字,就只能用gbk
7.jsp連線mysql資料庫語句指定的編碼不正確
8.jsp頁面沒有指定資料提交的編碼,就會造成亂碼:
所以,jsp亂碼的原因無非就是以上幾種,知道原因之後,要解決jsp亂碼的方法也容易多了
我們一一來表達:
1.如果安裝mysql的編碼已不能更改,很多朋友是購買虛擬主機建立**,無權更改mysql的安裝編碼,這一關我們可以跳過,因為只要後面的步聚正確,一樣能解決亂碼問題
2.修改資料庫編碼,如果是資料庫編碼不正確: 可以在phpmyadmin 執行如下命令: alter database `test` default character set utf8 collate utf8_bin
以上命令就是將test資料庫的編碼設為utf8
3.修改表的編碼:alter table `category` default character set utf8 collate utf8_bin
以上命令就是將乙個表category的編碼改為utf8
4.修改欄位的編碼:
alter table `test` change `dd` `dd` varchar( 45 ) character set utf8 collate utf8_bin not null
以上命令就是將test表中 dd的字段編碼改為utf8
5.如果是這種情況容易解決,只需檢查下頁面,修改原始檔的charset即可
, //這個正確就無問題了
6.這種情況也是修改頁面charset即可,
7.在jsp連線資料庫的語句中,
private string url="jdbc:mysql://localhost/"+db_name+" user="+login_name+"&password="+login_password+"&characterencoding=gbk"; //相鍵要看characterencoding
8.這種亂碼的情況,只需在頁面開頭加上request.setcharacterencoding("gbk"); 指定提交的即可
如果是資料庫的原因就參考上面的2,3,4種方法
可能是編碼問題
這樣連線一下資料庫看看
jdbc:mysql://localhost:3306/***x useunicode=true&characterencoding=utf-8
看看能否有效果
JSP亂碼的解決
jsp亂碼如何解決,給出三種以上的對應解決方案,並給出對應的程式案例 1 jsp頁面顯示亂碼 pagecontenttype text html charset gb2312 2 表單提交中文時出現亂碼 request.secharacterencoding gb2312 對請求進行統一編碼 3 資...
解決JSP中文亂碼的方法
一 jsp頁面顯示亂碼 二 表單提交中文時出現亂碼 三 資料庫連線 一 jsp頁面顯示亂碼 下面的顯示頁面 display.jsp 就出現亂碼 out.print jsp的中文處理 對不同的web伺服器和不同的jdk版本,處理結果就不一樣。原因 伺服器使用的編碼方式不同和瀏覽器對不同的字元顯示結果不...
解決jsp的中文亂碼問題
1,jsp程式存在有與servlet程式完全相同的中文亂碼問題,response物件的編碼 response.setchar 告訴瀏覽器要使用什麼編碼來解析輸給它的資料 response.setheader request物件的編碼問題 2,jsp引擎將jsp頁面翻譯成servlet原始檔時也可能導...