Java中解決中文亂碼問題的一種方法

2021-07-05 09:11:03 字數 1278 閱讀 2353

第一種:請求資料與頁面編碼不一致

中文亂碼的原因:

請求引數的文字編碼方式與頁面中的不一致所造成,所有的request請求都是iso-8859-1的,而如果在此頁面採用utf-8的編碼方式,

就需要將獲取到的資料通過string的構造方法使用指定的編碼型別重新構造乙個string物件,即可正確地顯示中文資訊。

例如:

show.jsp?name=張三&***=男

」>解決中文亂碼

則: 採用了中文亂碼處理-->

name引數的值為:<%=new string(request.getparameter(

「name」).

getbytes(

「iso-8859-1」),

」utf-8

」)%>

未採用了中文亂碼處理-->

***的引數為:<%=request.getparameter(***)%>

第二種 請求的資料經過web容器處理

解決方法:字元編碼過濾器(即在業務處理中重新指定中文字符集進行編碼)

例如:

request.setcharacterencoding(encoding);   //設定請求的編碼

response.setcontenttype(text/html;charset=+encoding);    //設定response字元編碼

中文亂碼問題的解決一

協議a 協議是基於請求相應模式的協議,客戶端傳送乙個請求,伺服器端返回該請求的響應。是建立在 tcp ip 為基礎的高層協議。協議第乙個版本是 後來發展到了 現在最新版本是 被廣泛使用。請求i.請求方法 uri 版本ii.請求頭iii.請求正文 請求頭和請求正文之間是乙個空行 回車換行 這個非常重要...

java解決中文亂碼

response被提交之前,如果 servlet 沒有指定 字元編碼,預設使用iso 8859 1 printwriter writer response.getwriter writer.print 中文 已經print再設定字符集無效 瀏覽器解析中文預設使用gbk字符集,如果不指定content...

servlet中解決中文亂碼問題

最早的http協議中,並沒有附加的資料型別資訊,所有傳送的資料都被客戶程式解釋為超文字標記語言html 文件,而為了支援多 資料型別,http協議中就使用了附加在文件之前的mime資料型別資訊來標識資料型別。常用的mime型別由兩部分組成 前面是資料的大類別,例如聲音audio 圖象image等,後...