1. 程式人生 > >HttpClient 傳送Get請求 中文亂碼

HttpClient 傳送Get請求 中文亂碼

使用背景:使用HttpClient傳送Get請求的時候,有中文引數,在Servlet中接收的時候,取出請求的引數,然後在Servlet中轉發Get請求。在Servlet中轉發的Get請求的引數是GBK編碼的。

        不管我怎麼設定編碼,總是失敗。

        後來在Servlet中 新增 req.setCharacterEncoding("UTF-8"); 

        然後para=req.getParameter("title");取出引數。

        在轉發的時候,設定引數GBK編碼:para = URLEncoder.encode(para, "GBK");

        再使用HttpClient傳送Get請求。這個時候就成功了。

       總結:在Servlet中接收引數的時候,必須指定req.setCharacterEncoding("引數編碼方式");這樣取出來的引數才不會亂碼,隨後對引數的處理才能成功。