Servlet亂碼問題

2021-09-07 14:17:12 字數 711 閱讀 7825

資料像水流一樣從乙個地方流向另乙個地方。

文字流是特殊的二進位製流。

既然提到亂碼問題,那就必然是用錯誤的編碼去解釋二進位製流。

在傳輸過程中必然都是以二進位製流傳輸的。

所以,我們需要考慮的是:

下面解決最經典的亂碼問題:servlet讀取資料庫,然後resp.getwriter.print()到前端,出現亂碼。

結點很顯然有三個:

資料庫(1)=>(2)web程式(3)=>(4)前端

一共有4個位置可能會發生亂碼。

配置資料庫時,要使用utf8編碼:

jdbc:mysql:

web程式進行編碼時(對應3處),resp.setcharacterencoding("utf8");

前端進行解碼時(對應4處),resp.setheader("content-type","text/html;charset=utf-8");

實際上,servlet也可以通過resp.getoutputstream()直接列印二進位製流,這樣跟resp.getwriter()+resp.setcharacterencoding()效果是一模一樣的。

下面說幾個症狀:

(1)、前端網頁顯示???,這表示前端徹底無法解碼,多半是因為伺服器端發過來時編碼出錯了

(2)、前端顯示漢字,如「錕金考燙燙燙」等,這表示瀏覽器解碼錯誤

servlet亂碼問題

今天學習servlet,出現了比較煩人的亂碼問題,這裡記錄一下解決方案。在html裡面建立乙個form表單,向servle提交資料,提交中文時就會有亂碼,首先按照程式執行思路走一遍看看到底什麼地方可能會出現問題。首先在瀏覽器輸入位址,tomcat建立servlet,瀏覽器顯示html內容。當使用者提...

servlet中文亂碼問題

亂碼情況 q提交表單資料報含中文,則亂碼 q響應至客戶端包含中文,則亂碼 q解決方法 q提交表單資料報含中文,則亂碼 qget提交 tomcat conf server.xml設定uriencoding gbk 解決get方式的提交 修改tomcat目錄下conf下service.xml,新增uri...

解決servlet亂碼問題

1.解決request的中文亂碼問題 string msg new string request.getparameter message getbytes iso 8859 1 utf 8 2.解決cookie的亂碼問題 cookie name new cookie name urlencoder...