好程式設計師Java學習路線分享如何處理中文引數
好程式設計師Java學習路線分享
如何處理中文引數
,
為什麼表單中會產生中文亂碼
產生亂碼,就是因為伺服器和客戶端溝通的編碼不一致造成的,因此解決的辦法是:在客戶端和伺服器之間設定一個統一的編碼,之後就按照此編碼進行資料的傳輸和接收
GET中文亂碼
//獲取表單提交的姓名
String name=request.getParameter("name");
name=new String(name.getBytes("ISO-8859-1"),"UTF-8");
在Tomcat7及以下客戶端以UTF-8的編碼傳輸資料到伺服器端,而伺服器端的request物件使用的是ISO-8859-1這個字元編碼來接收資料,伺服器和客戶端溝通的編碼不一致因此才會產生中文亂碼的。
解決辦法:在接收到資料後,先獲取request物件以ISO8859-1字元編碼接收到的原始資料的位元組陣列,然後透過位元組陣列以指定的編碼構建字串,解決亂碼問題。
Tomcat8的版本中GET基本就不會亂碼了,因為伺服器對url的編碼格式可以進行自動轉換
POST亂碼
由於客戶端是以UTF-8字元編碼將表單資料傳輸到伺服器端的,因此伺服器也需要設定以UTF-8字元編碼進行接收,並且必須在接收引數之前定義;
//設定請求引數的編碼格式--對GET無效
request.setCharacterEncoding("UTF-8");
Servlet輸出中文
1 頁面返回亂碼原因
瀏覽器識別不到返回的中文是什麼編碼格式,就會預設使用GB2312,如果返回的是UTF-8格式的那麼在瀏覽器上就會顯示亂碼的問題
2 如何解決內容中的亂碼
response.setContentType("text/html;charset=UTF-8");
3 綜合設定
在接收引數值之前:
request.setCharacterEncoding("UTF-8");//設定請求的編碼
response.setCharacterEncoding("UTF-8");//設定響應的編碼
response.setContentType("text/html;charset=utf-8");//設定響應型別和響應內容
的編碼
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69913892/viewspace-2658531/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 好程式設計師Java學習路線分享SpringCloud程式設計師JavaSpringGCCloud
- 好程式設計師Java學習路線分享mybatis對映程式設計師JavaMyBatis
- 好程式設計師Java學習路線分享Java框架怎麼搭建程式設計師Java框架
- 好程式設計師Java學習路線分享5分鐘瞭解計數排序程式設計師Java排序
- 好程式設計師Java學習路線分享Redis快速入門程式設計師JavaRedis
- 好程式設計師Java學習路線分享JVM相關概念程式設計師JavaJVM
- 好程式設計師Java學習路線分享MyBatis之基本使用程式設計師JavaMyBatis
- 好程式設計師Java學習路線分享maven是什麼程式設計師JavaMaven
- 好程式設計師Java學習路線分享原生Ajax的使用程式設計師Java
- 好程式設計師Java學習路線分享Java-String常用方法程式設計師Java
- 好程式設計師Java學習路線分享Java中的位移運算程式設計師Java
- 好程式設計師Java學習路線分享5分鐘瞭解基數排序程式設計師Java排序
- 好程式設計師Java學習路線分享MyBatis之Spring整合程式設計師JavaMyBatisSpring
- 好程式設計師Java學習路線分享Dubbo架構介紹程式設計師Java架構
- 好程式設計師Java學習路線分享多執行緒概念程式設計師Java執行緒
- 好程式設計師Java學習路線分享MySQL目錄結構程式設計師JavaMySql
- 好程式設計師Java學習路線分享finalize()方法詳解程式設計師Java
- 好程式設計師Java學習路線分享SpringMVC之MVC概述程式設計師JavaSpringMVC
- 好程式設計師Java學習路線分享三大特性之多型程式設計師Java多型
- 好程式設計師Java學習路線之集程式設計師Java
- 好程式設計師Java學習路線分享Java弱引用的理解與使用程式設計師Java
- 好程式設計師Java學習路線分享Java案例-封裝JDBC工具類程式設計師Java封裝JDBC
- 好程式設計師Java學習路線分享怎麼理解Java物件導向程式設計師Java物件
- 好程式設計師Java學習路線分享MyBatis之關聯查詢程式設計師JavaMyBatis
- 好程式設計師Java學習路線分享JVM類載入機制程式設計師JavaJVM
- 好程式設計師Java學習路線分享Spring常見面試題程式設計師JavaSpring面試題
- 好程式設計師大資料學習路線分享MAPREDUCE程式設計師大資料
- 好程式設計師大資料學習路線分享SparkSQl程式設計師大資料SparkSQL
- 好程式設計師Java學習路線JSP物件程式設計師JavaJS物件
- 好程式設計師web前端分享前端學習路線自學如何找到工作程式設計師Web前端
- 好程式設計師Java學習路線分享Java面試題之載入機制程式設計師Java面試題
- 好程式設計師大資料學習路線分享Hbase指令學習程式設計師大資料
- 好程式設計師Java教程分享如何系統的學習Java程式設計師Java
- 好程式設計師雲端計算學習路線分享檢視程式process程式設計師
- 好程式設計師Java學習路線分享JavaScript基本資料型別分析程式設計師JavaScript資料型別
- 好程式設計師Java學習路線分享JavaEE的13種核心技術程式設計師Java
- 好程式設計師Java學習路線分享氣泡排序及最佳化程式設計師Java排序
- 好程式設計師Java學習路線分享SpringMVC之請求和響應程式設計師JavaSpringMVC