亂碼分類
1.post
2.get
而get分為三種(目前已經了解到)
a.表單form get提交方式亂碼
b. 超連結(a href) 傳遞引數亂碼
c.重定向、**亂碼
亂碼原因:解碼編碼不一致。
為什麼要編碼解碼
在物理層傳輸時,需要將字元編碼為位元組
編碼:字元->位元組
解碼:位元組->字元
在服務端tomcat中,不同版本預設編碼不一樣(源文件中記錄)
在tomcat7及以前版本中,uriencoding預設為iso-8859-1.
在tomcat8版本以後預設採用utf-8.(只針對form get方式的傳輸)
解決方法
post提交。設定request.setcharacterencoding("utf-8");通知服務端以utf-8解碼。
getform** 如果tomcat版本在8及以後,不會亂碼,tomcat7及以前,獲取前端的值a.
string a1=new string(a.getbytes("iso-8859-1"),"utf-8");先以iso-8859-1解碼,再用utf-8編碼
轉化**可識別文字。
response.sendredirect:其就像第二次get方式提交。但是tomcat針對其預設解碼任然為iso-8859-1.
所以假定傳輸的內容為a. string a1=string a1=new string(a.getbytes("utf-8"),"iso-8859-1");
將其以iso-8859-1編碼方式進行傳輸。
對於超連結a href 傳輸,其本質也是get方式。解決方法 參考
目前理解就到此,有錯歡迎指出
tomcat中文亂碼
問題的現象 我在本地的tomcat的server.xml中設定如下 頁面中沒亂碼,url傳參也沒有問題,但是在192.168.2.40的linux伺服器上做這樣的設定就不行了,雖然頁面沒有亂碼,但是傳參的時候就出現中文亂碼了!原因分析 因為我們伺服器中的tomcat是通過apache 系統請求的,而...
c socket 傳輸檔案亂碼
c socket 剛學的socke 不知道為什麼客戶端接受文字訊息不會亂碼可是發文字檔案接收到的檔案開啟全是亂碼求大佬指點 客戶端接收 void jieshou i i r 儲存檔案 fswrite.write buff,1,r 1 輸出進度 tishi i.tostring length.tost...
Tomcat中文亂碼問題
tomcat中文亂碼解決之道 tomcat 缺省會用iso 8859 1來編碼請求字元,所以在獲取請求中的資料時,可以通過轉碼實現無亂碼。在jsp頁面中,可以通過request.setcharactorencoding gbk 來指定請求引數的編碼。或者在伺服器端的 中進行轉碼。過濾器只能對post...