中文亂碼處理

2021-06-19 14:43:01 字數 1744 閱讀 9714

表單:(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....