Android 台灣中文網

標題: 為什麼 HttpPost 回傳後的中文字都變成亂碼了? [打印本頁]

作者: abcd30282000    時間: 2013-4-18 18:53
標題: 為什麼 HttpPost 回傳後的中文字都變成亂碼了?
我用 HttpPost 擷取網路回傳的資料

可是中文字的部分都變成亂碼了

我 Google 好幾天

也都照著設定過

可是還是亂碼

要怎麼修改才可以解決問題呢?

謝謝

程式碼如下:


-------------------------------------------------------------------


new Thread() {
   @Override
   public void run() {
      HttpPost httpRequest = new HttpPost("http://140.121.196.8/WS/login.php");

      List<NameValuePair> params = new ArrayList<NameValuePair>();
      params.add(new BasicNameValuePair("account", account.getText().toString()));
      params.add(new BasicNameValuePair("password", password.getText().toString()));
      try {
         httpRequest.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8));
         HttpResponse httpResponse = new DefaultHttpClient().execute(httpRequest);

         if (httpResponse.getStatusLine().getStatusCode() == 200){
            final String result = EntityUtils.toString(httpResponse.getEntity());
            runOnUiThread (new Runnable() {
               public void run() {
                  Toast.makeText(MainActivity.this, result, Toast.LENGTH_LONG).show();

               }
            
            });
         
         }
         else
            Toast.makeText(MainActivity.this, "回傳失敗", Toast.LENGTH_LONG).show();
      
      }
      catch(Exception e) {
         Toast.makeText(MainActivity.this, "沒有回應", Toast.LENGTH_LONG).show();

      }

   }

}
作者: whl    時間: 2013-4-18 19:22
回傳的內容是 utf-8 還是 big5?
作者: whl    時間: 2013-4-18 21:28
試試看 urldecoder
作者: abcd30282000    時間: 2013-4-18 22:31
whl 發表於 2013-4-18 21:28
試試看 urldecoder

我把【final String result = EntityUtils.toString(httpResponse.getEntity());】這一行
改成【final String result = URLEncoder.encode(EntityUtils.toString(httpResponse.getEntity()), "utf-8");】
可是亂碼愈來愈多的說
作者: whl    時間: 2013-4-19 00:32
是 urldecoder 不是 urlencoder
作者: abcd30282000    時間: 2013-4-19 17:18
whl 發表於 2013-4-19 00:32
是 urldecoder 不是 urlencoder

不知道是不是把我上面改的程式碼當中的 URLEncoder 直接改成 URLDecoder 就好了?
可是我試了之後
還是跟最一開始的亂碼一模一樣
作者: whl    時間: 2013-4-19 18:17
檢查一下 server 設定, 我不知道是不是 Content-Encoding : gzip 這個問題。
作者: abcd30282000    時間: 2013-4-19 18:29
whl 發表於 2013-4-19 18:17
檢查一下 server 設定, 我不知道是不是 Content-Encoding : gzip 這個問題。

所以你的意思是可能問題是出在網頁
而不是程式碼嗎?
謝謝^__^




歡迎光臨 Android 台灣中文網 (https://apk.tw/) Powered by Discuz! X3.1