HttpClient 處理中文亂碼

2022-03-22 17:42:06 字數 1554 閱讀 5982

httpclient 請求的中文亂碼問題 

相關類庫: 

--給請求傳遞引數

方式一:

最簡單的方式,直接輸出頁面,這裡基本上不需要任何設定。

system.out.println(getmethod.getresponsebodyasstring());

方式二:

使用流方式讀取

inputstream in = getmethod.getresponsebodyasstream();

//這裡的編碼規則要與上面的相對應

bufferedreader br = new bufferedreader(new inputstreamreader(in,"gb2312"));

string tempbf;

stringbuffer html = new stringbuffer(100);

while ((tempbf = br.readline()) != null) 

system.out.println(html.tostring());

方式三:

當然還可以使用這樣的方式,因為預設是使用iso-8859-1,無非就是多進行了幾次轉碼 

inputstream in = getmethod.getresponsebodyasstream();

//這裡使用8859-1讀取

bufferedreader br = new bufferedreader(new inputstreamreader(in,"iso-8859-1"));

string tempbf;

stringbuffer html = new stringbuffer(100);

while ((tempbf = br.readline()) != null) 

//將8859-1再次轉成gb2312

system.out.println(new string(html.tostring().getbytes("iso-8859-1"),"gb2312"));

我還是建議使用第一種方法,但我認為本質上是一致的 

對於請求部分還可以通過如下幾種方式進行設定 

HttpClient 傳送Get請求 中文亂碼

使用背景 使用httpclient傳送get請求的時候,有中文引數,在servlet中接收的時候,取出請求的引數,然後在servlet中 get請求。在servlet中 的get請求的引數是gbk編碼的。不管我怎麼設定編碼,總是失敗。後來在servlet中 新增 req.setcharacteren...

HttpClient 處理中文亂碼

httpclient 請求的中文亂碼問題 給請求傳遞引數 方式一 最簡單的方式 直接輸出頁面,這裡基本上不需要任何設定。system.out.println getmethod.getresponsebodyasstring 方式二 使用流方式讀取 inputstream in getmethod....

android中處理中文亂碼和中文部分亂碼

1.第一種情況 伺服器與客戶端編碼不統一造成中文亂碼,當伺服器返回資料是utf 8格式時,客戶端在讀取輸入流時,需要將其轉換成utf 8格式,如下是客戶端部分 設定url並且開啟連線 得到輸入流並轉換為字串 顯示到控制項上 textview 1.settext strresult 2.第二種情況 如...