servlet中get和post編碼問題

2021-08-07 22:45:08 字數 1020 閱讀 1906

request.setcharacterencoding()是設定從request中取得的值或從資料庫中取出的值

response.setcontenttype("text/xml;charset=gbk")是設定頁面中為中文編碼 

前者是設定動態文字(引數,資料庫),後者設定頁面靜態文字 

response.setcontenttype指定 http 響應的編碼,同時指定了瀏覽器顯示的編碼. 

response.setcharacterencoding設定http 響應的編碼,如果之前使用response.setcontenttype設定了編碼格式,則使用response.setcharacterencoding指定的編碼格式覆蓋之前的設定.

與response.setcontenttype相同的是,呼叫此方法,必須在getwriter執行之前或者response被提交之前

補充:問題1 :從jsp頁面頁面傳遞引數到servlet顯示中文亂碼

解決辦法:

如果是post 方法提交 則加入以下**:

request.setcharacterencoding("gbk");//注意首先保證編碼一至,jsp頁面用什麼編碼在此就用什麼編碼(gbk/gb2312等),此**只對post提交方式有效

response.setcontenttype("text/xml;charset=gbk")是設定頁面中為中文編碼

備註:以上兩行**必須放在printwriterout=response.getwriter(); 之前

get 方法提交

如變數name 用 

string name = new string(request.getparameter("name").getbytes("iso-8859-1"),"gbk");

問題2:解決get方式提交亂碼問題:

修改tomcat server.xml 檔案,加上紅色部分**

uriencoding="gbk"/>

備註:以上字元編碼格式根據自己需要設定,只要保持一致即可

Vue resource中的GET與POST請求

在 vue 2 版本,官方推薦使用 axios 來進行開發,可以閱讀這篇文章來學習 axios 全攻略之基本介紹與使用 get 與 post 前言 vue resource 使用比 jquery 更加簡潔的方式實現了非同步請求功能,還提供了比如 interceptors 這樣處理請求過程中行為的功能...

servlet中post和get請求亂碼問題

在post請求當中我們是直接處理即可 為什麼post和get處理請求亂碼的方式不一樣 tomcat預設是使用iso 8859 1來處理引數。因為在dopost中我們可以使用 request.setcharacterencoding utf 8 對請求引數編碼,而不是預設的iso 8859 1,而在d...

php中運用http呼叫的GET和POST方法

使用到的函式是curl init,curl setopt,curl exec,curl close。預設是get方法,可以選擇是否使用header ch curl init curl setopt ch,curlopt url,url curl setopt ch,curlopt timeout,2...