>  기사  >  웹 프론트엔드  >  쿠키는 중국어 정보를 저장합니다

쿠키는 중국어 정보를 저장합니다

巴扎黑
巴扎黑원래의
2016-12-19 14:22:371751검색

쿠키에 중국어를 저장할 때 가끔 중국어 깨짐 문제가 발생할 수 있습니다. 예를 들어, IOS 시스템에서 접속할 때 중국어 깨짐으로 인해 데이터가 쿠키에 성공적으로 저장되지 않을 수 있습니다. 문제는 2개의 함수를 사용하는 것입니다:

escape(string): 문자열을 인코딩합니다.

unescape(string): 문자열을 디코딩합니다.

코드 예시는 다음과 같습니다.

var cookie = {
    set:function(key,val,time){//设置cookie方法
        var date=new Date(); //获取当前时间
        var expiresDays=time;  //将date设置为n天以后的时间
        date.setTime(date.getTime()+expiresDays*24*3600*1000); //格式化为cookie识别的时间
        document.cookie=key + "=" + escape(val) +";expires="+date.toGMTString();  //设置cookie
    },
    get:function(key){//获取cookie方法
        /*获取cookie参数*/
        var getCookie = document.cookie.replace(/[ ]/g,"");  //获取cookie,并且将获得的cookie格式化,去掉空格字符
        var arrCookie = getCookie.split(";")  //将获得的cookie以"分号"为标识 将cookie保存到arrCookie的数组中
        var tips;  //声明变量tips
        for(var i=0;i<arrCookie.length;i++){   //使用for循环查找cookie中的tips变量
            var arr=arrCookie[i].split("=");   //将单条cookie用"等号"为标识,将单条cookie保存为arr数组
            if(key==arr[0]){  //匹配变量名称,其中arr[0]是指的cookie名称,如果该条变量为tips则执行判断语句中的赋值操作
                tips=arr[1];   //将cookie的值赋给变量tips
                break;   //终止for循环遍历
            }
        }
        return unescape(tips);
    }
}

사용 방법은 다음과 같습니다.

Js 코드

cookie.set(&#39;key&#39;,&#39;value,中文也可以的&#39;,30)  //30天后失效  
  
cookie.get(&#39;key&#39;)   // value,中文也可以的


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:JS 형식화 숫자다음 기사:JS 형식화 숫자