jsp中文亂碼 jsp mysql 亂碼的解決方法
當使用JSP頁面將中文數(shù)據(jù)添加到MySql數(shù)據(jù)庫中的時候發(fā)現(xiàn)變?yōu)閬y碼,或者從mysql中讀取中文的時候出現(xiàn)亂碼,這些問題根源都是由于字符編碼不一致造成的。要知道病源是什么我們才能對癥下藥,所以我將問題產(chǎn)生的過程簡單描述一下(如有不對望高人賜教)
我們以一個從form表單讀取數(shù)據(jù)并寫入mysql數(shù)據(jù)庫的例子來講解;
HTML頁面參數(shù)—(以瀏覽器的編碼方式發(fā)送)—》JSP頁面—(以JSP定義的編碼方式被編譯)—》被JSP引擎編譯為*.class文件——》在JSP容器中運行——》傳遞給Mysql數(shù)據(jù)庫—(以數(shù)據(jù)庫的編碼方式讀取數(shù)據(jù)并存儲)—》讀取Mysql—(以數(shù)據(jù)庫的編碼方式讀取)—》JSP頁面接受后在瀏覽器中顯示(以瀏覽器編碼方式解碼顯示);
注意:這里的“瀏覽器編碼”“JSP頁面編碼”“JSP頁面輸出編碼”“JSP頁面輸入編碼”“數(shù)據(jù)庫的編碼”可能存在潛在的不一直,當它們中的任意一個不相同的時候就會出現(xiàn)亂碼;就好像傳話游戲一樣,張三要把話傳給李四,李四把他聽到的傳給王五,要讓王五知道張三說的什么就需要他們?nèi)齻€人使用的相同語言,如果李四是個火星人,他當然聽不懂張三說什么,然后他還不厚道的對王五說火星話(亂碼),結果王五就只能聽到亂碼了。(比喻比較汗~~^_^!)
jsp中文亂碼 jsp mysql 亂碼要servlet里面支持中文的方法:
在dopost或者doget的第一句加上:
request.setCharacterEncoding("GB2312"); response.setCharacterEncoding("GB2312");
jsp亂碼問題在jsp里面就把
里設置成charset=gb2312
jsp頁面亂碼 jsp頁面中文亂碼 如果這樣還不行,就只有在取出中文后(getParameter)強制轉(zhuǎn)換了:
String str=new String(request.getParameter("text").getBytes("ISO-8859-1"),"GB2312");
很不錯的方法,因為在java里面,jsp數(shù)據(jù)庫亂碼是個大問題,jsp出現(xiàn)亂碼這些一定要銘記
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
JSP使用JDBC完成動態(tài)驗證及采用MVC完成數(shù)據(jù)查詢的方法
這篇文章主要介紹了JSP使用JDBC完成動態(tài)驗證及采用MVC完成數(shù)據(jù)查詢的方法,實例分析了JDBC連接數(shù)據(jù)庫及查詢數(shù)據(jù)庫的實現(xiàn)技巧,并結合MVC框架進行分析說明,需要的朋友可以參考下2015-09-09JSP頁面IE無法打開Internet 站點…… 已終止操作 的解決方法
今天機緣巧合之下遇到了個人認為比較經(jīng)典的“IE無法打開Internet 站點…… 已終止操作”的問題。2013-05-05使用JSP技術實現(xiàn)一個簡單的在線測試系統(tǒng)的實例詳解
這篇文章主要介紹了使用JSP技術實現(xiàn)一個簡單的在線測試系統(tǒng)的實例詳解,文章通過示例代碼和代碼運行結果圖相結合展示介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-08-08JAVA POST與GET數(shù)據(jù)傳遞時中文亂碼問題解決方法
最近亂忙活弄了一個企業(yè)家宣傳網(wǎng)站遇到了中文字符集亂碼問題,在此分享一下即簡單又實用的解決方法,感興趣的朋友可以參考下哈2013-06-06