幾種常見的JSP中文亂碼
*WEB容器預設的字串處理編碼是ISO-8859-1
1.JSP頁面顯示時亂碼——輸出時亂碼,
解決方案:為其指定中文字符集,前加<%@pagecontentType=”text/html”:chartset=”gb2312”%>
2.JSP頁面傳遞中文引數時亂碼——get表單提交
解決方案:String email=new String(request.getparmeter(“哈哈”).getByte(“ISO-8859-1”),”gb2312”);%>
3.servlet處理中文引數時亂碼
request.setCharacterEcodeing(“gb2312”);在doPost中加入response.setCotentType(“”text/html;chartset=”gb2312”);
4.post表單亂碼
提交頁面給對應的JSP頁面或者是servlet後,接收方出現表單資料中文值有亂碼,解決方案:在接受post提交的引數之前,使用request.setCharacterEncodeing(“UTF-8”),設定只對post提交有用,get沒有用
原因分析:
1.在文字框輸入中文提交後,返回的是亂碼,由於request.getparamter(“”),得到的引數編碼的方式是有ISO-8859-1
(1).故在之前加上<%request.setCharaterEcnoding(“GBK”)%>,那麼request就用這個編碼接受
(2).在配置檔案Server.xml中,扎到含Port=“8080”的connector區塊,在其後面加上一句URIEncodeing=”GBK”,重啟Tomcate,對所有的網站都有用
2.資料庫中表中欄位有中文資訊,JSP執行死顯示??原因是:資料庫JDBC驅動程式,預設的在java和資料庫之間傳遞,資料庫都是以ISO-8859-1為預設的編碼格式,幾十資料庫原本是用中文編碼(如gbk),jdk也會自動主張的將其轉為ISO-8859
解決方案:在連線資料庫時,在URL中後面加上?useUnicode=true@characterEncoding=”GBK”,例如:mysql://localhost:3306/sqltest?useUnicode=true@characterEncoding=”GBK”
3.通過URL傳遞引數亂碼
,這個轉換字串的拜年嗎或者設定JSP頁面顯示編碼都不行,只能改伺服器servel.xml編碼
7.瀏覽器版本低導致的亂碼,編碼:URLEncoding.encode(name,”utf-8”),傳遞給伺服器”>,解碼:URLDecoder.decode(name,”utf-8”)
8.返回瀏覽器亂碼:由於response.getWriter()方法,返回的printerwriter物件預設使用的是ISO-8859-1,字符集編碼,故用setchraterEncodeing,setconentType的方法
*總結:
1.對於瀏覽器接受伺服器和傳送伺服器編碼都是一樣的,預設是JSP頁面的response.setContentType方法,
2.而伺服器傳送的資料,則是按照response.setChractrEncoding——contentType——pageEncoding,優先順序,
3.資料接收有三種方式:1.URL提交。2.get提交。3.post提交。
亂碼問題的原因,程式的編碼沒有和程式設計人員的編碼進行統一(就像你和一個不懂中文的人(計算機)進行交流,他當然不懂),故要不然手動轉碼,或者宣告編碼讓程式轉
相關文章
- jsp 中文亂碼急救JS
- include jsp 中文亂碼JS
- 幾種常見的中文分詞包的分析與比較中文分詞
- 幾種常見的NO SQL DBSQL
- JSP中四種傳遞引數中文亂碼問題JS
- MySQL亂碼的幾種原因MySql
- 三種常見中文內碼的轉換方法!(轉)
- iOS常見的幾種加密方法iOS加密
- 幾種常見的CSS佈局CSS
- 常見的幾種設計模式設計模式
- JSP頁面裡中文的亂碼問題JS
- react常見幾種事件宣告React事件
- Vim常見模式有幾種?模式
- 常見php與mysql中文亂碼問題解決辦法PHPMySql
- [Visual studio code 常見問題解決] ——中文亂碼、
- jsp頁面中中文亂碼問題JS
- MySQL中幾種常見的日誌MySql
- redis常見的幾種使用場景Redis
- 簡單實現幾種常見的前端效果,附程式碼!前端
- 幾種常見的微服務架構方案微服務架構
- python 幾種常見的測試框架Python框架
- 短視訊系統原始碼,幾種常見的單例模式原始碼單例模式
- 幾種常見取樣方法及原理
- jsp頁面傳中文到資料庫亂碼JS資料庫
- JSP中文亂碼問題終極解決方案JS
- 幾種常見的DDOS攻擊應對策略
- 幾種常見的JS遞迴演算法JS遞迴演算法
- 幾種常見的軟體開發模型分析模型
- 前後端常見的幾種鑑權方式後端
- 35.幾種常見的排序演算法排序演算法
- 用Flex實現常見的幾種佈局Flex
- 網路安全——常見的幾種WEB攻擊:Web
- 【開發經驗】幾種常見的加密方式加密
- 幾種常見的Python資料結構Python資料結構
- 幾種常見的排序演算法總結排序演算法
- 幾種常見的濾波演算法(轉)演算法
- 幾種常見的資料庫連線方法資料庫
- cocos2d-x解決中文亂碼問題的幾種辦法