zoukankan      html  css  js  c++  java
  • [转]JS Cookie 中文乱码

    首先是一个解析cookie的函数:

     <script type="text/javascript">
     function getCookie(name) {
       var cookies = document.cookie.split(";");
       for(var i=0;i<cookies.length;i++) {
        var cookie = cookies[i];
        var cookieStr = cookie.split("=");
        if(cookieStr && cookieStr[0].trim()==name) {
         return  decodeURI(cookieStr[1]);
        }
       }
     }
     
     String.prototype.trim = function() {
      return this.replace(/^(s*)|(s*)$/g,"");
     }
     </script>

    当获取到内容的时候,一定要进行编码,否则会出现中文乱码问题。

    decodeURI

    其中在java的Servlet中,中文也要进行转码。cookie中不允许直接存储中文:

      String  valueUTF8 = URLEncoder.encode("testvalue3_中文_UTF-8","UTF-8");
      Cookie cookie3 = new Cookie("testUTF8",valueUTF8);

      response.addCookie(cookie3);

    并且在encode编码的时候,用UTF-8来编码。这样js通过decodeURI转码过来的就不是乱码。

    因为decodeURI就是采用的UTF-8来编码的。

  • 相关阅读:
    053-606
    053-605
    1019 General Palindromic Number (20分)
    1208. 翻硬币
    754. 平方矩阵 II
    1346. 回文平方
    680. 剪绳子
    1227. 分巧克力
    756. 蛇形矩阵
    429. 奖学金
  • 原文地址:https://www.cnblogs.com/seasons1987/p/3317373.html
Copyright © 2011-2022 走看看