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...