URLEncoder和URLDecoder;cookie中儲存特殊字元以及URL中亂碼問題解決方案
阿新 • • 發佈:2019-01-27
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); //顯示在頁面 } } }
首先訪問編碼,然後訪問解碼,結果在瀏覽器中顯示;