servlet 中文編碼設置


Tomcat服務器默認采用的ISO8859-1編碼

產生的原因:

不同數據來源的編(解)碼格式不同:

數據來源 默認編碼格式
瀏覽器頁面 GBK
(可在瀏覽器頁面右鍵切換)
request(get) ISO-8859-1
request(post) GBK(同瀏覽器),但是如果是服務器來的頁面一般已經設置了UTF-8(例如JSP提交的頁面)
Servlet(response) ISO-8859-1

 

1.請求中文的處理:

get:

String code=new String(request.getParameter("code").getBytes("ISO8859-1"),"UTF-8");

post:

request.setCharacterEncoding("UTF-8");

2.響應中的中文處理:

response.setContentType(“text/html;charset=UTF-8”);

3.注意
1,一般情況下,JSP頁面的默認編碼字符集要設置成UTF-8。否則無法完成中文顯示和數據傳輸。這里不考慮GBK的情況
2,在服務器端的程序之間,數據傳輸都是以UTF-8格式傳輸的。所有不用考慮中文亂碼問題
3,setCharacterEncoding(“UTF-8”)是設置字符集,request調用是設置解碼方式(因為是從頁面過來的),而response調用時設置編碼方式(因為要想頁面輸出內容,先在Servlet中編碼)
4,getBytes(“UTF-8”);方法通過字符串調用,是按照指定字符集編碼。
5,new String(string.getBytes(“ISO-8859-1”),”UTF-8”);方法將string字符串先以原始(ISO-8859-1)進行解碼轉成字節數組,在以(UTF-8)編碼封裝成新字符串。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM