1. 程式人生 > >URLEncoder和URLDecoder;cookie中儲存特殊字元以及URL中亂碼問題解決方案

URLEncoder和URLDecoder;cookie中儲存特殊字元以及URL中亂碼問題解決方案

cookie的特殊字元的編碼和解碼來解決亂碼問題; 

 編碼:

  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //
        String str="hello   world";
        String str1 = URLEncoder.encode(str, "utf-8");// 把str 編碼為str1
        Cookie cookie = new Cookie("str1", str1);        //儲存在cookie響應給瀏覽器
        response.addCookie(cookie);   //在另一個servlet中解碼
    }

 解碼:

  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //
        Cookie[] cookies = request.getCookies();
        for (Cookie cookie : cookies) {
            if (cookie.getName().equals("str1")) {  //找到 str1 的cookie
                String decode = URLDecoder.decode(cookie.getValue(), "utf-8");
                System.out.println(decode);
                response.getWriter().print(decode);   //顯示在頁面
            }
        }
    }

首先訪問編碼,然後訪問解碼,結果在瀏覽器中顯示;