表單:(post方式)
表單:(get方式)連線測試
以上是測試的html頁面,下面是對應的post get url方式提交的中文亂碼處理:
//post方式提交:
//此時在console下顯示的內容為:
//獲取到的內容:阿斯顿å 【亂碼了】
/*我們通過表單的提交將input標籤中的內容從messycode.html中提交到messycodeservlet中來,在html中:可以通過檢視編碼知道【編碼形式:utf-8】
而我們通過post方式是將內容封裝到請求體,然後發給web伺服器,但是伺服器卻是以iso-8859-1的形式接受的,所以就會產生亂碼的現象,因此讓伺服器段以utf-8
接受即可。
通過檢視http-watch得到:
post data:
content 阿斯頓發 44
*/request.setcharacterencoding("utf-8");//需要在請求被使用之前,對請求體進行修正
string content = request.getparameter("content");
system.out.println("處理後的內容:"+content);
//get方式提交:
//獲取的內容:沒有進過處理獲取到的內容:阿斯顿å
//get方式是通過請求行傳送的:content=%e5%9c%a3%e8%be%be%e8%8f%b2
/*此時利用之前說的正對post方式的方式就沒有用了,因為setcharacterencoding();是針對請求體的...
但是不變的始終是位元組碼.那麼我們就可以通過位元組來構建我們需要的形式。
其實這個方式應該來說是可以針對post和get的兩種情況的,從byte得到的
*/content=new string(content.getbytes("iso-8859-1"),"utf-8");
system.out.println("處理後的內容:"+content);
/*沒有進過處理獲取到的內容:阿斯顿å『
處理後的內容:阿斯頓發
*/
//針對 a標籤提交的
//除了表單的post方式是可以以post的方式提交的,其他的請求都應該是get的形式
使用處理post的處理方式:
處理後的內容:'æ』』旦法斯è』‚蚬'
使用get的處理方式:
沒有進過處理獲取到的內容:'æ』』旦法斯è』‚蚬'
處理後的內容:'撒旦法史蒂芬'
*/content=new string(content.getbytes("iso-8859-1"),"utf-8");
system.out.println("處理後的內容:"+content);
/*
總結:其實有時候處理亂碼會變得特別麻煩,不管怎麼弄還是亂碼,這個時候就要分清楚這個碼到底是在**亂的【ps:亂碼 -> messycode 學了個單詞】
*/
Ajax處理中文亂碼
一 提交時傳遞中文引數 在js中用escape轉碼,例如 var url servlet usernameservlet?username escape escape 中文 在servlet伺服器端用unescape 方法解碼 string username request.getparameter...
處理request中文亂碼
1 當用window.open url 開啟乙個視窗的時候通過下面的方法傳值到action處理,經常會出現中文亂碼情況 url struts?method x prametera encodeuricomponent changevaluesjson 在action中通過下面的方式可以處理中文亂碼情...
HttpClient 處理中文亂碼
httpclient 請求的中文亂碼問題 給請求傳遞引數 方式一 最簡單的方式 直接輸出頁面,這裡基本上不需要任何設定。system.out.println getmethod.getresponsebodyasstring 方式二 使用流方式讀取 inputstream in getmethod....