如何在cookie中存储其他语言(unicode)并重新获取它

时间:2011-02-04 18:34:12

标签: javascript cookies unicode utf-8

任何人都可以帮助我了解如何存储另一种语言的cookie值 如何用该语言再次检索它。

在存储后检索时,我的外语cookie似乎变成了垃圾。

一些代码:

编写cookie代码:

   function writecook() {
            document.cookie = "lboxcook=" + document.getElementsByTagName('input')[0].value;
            //input[0] is the input box who's value is stored
   }

检索Cookie代码:

  <script language="JavaScript"> 
            function get_cookie ( cookie_name )
            {
               var results = document.cookie.match ( '(^|;) ?' + cookie_name + '=([^;]*)(;|$)' );


               if ( results )
               return ( unescape ( results[2] ) );
               else
               return null;
            }
            </script> 

感谢。

1 个答案:

答案 0 :(得分:17)

设置Cookie时使用encodeURIComponent(),检索时使用decodeURIComponent()

var cookieValue = document.getElementsByTagName('input')[0].value;
document.cookie = "lboxcook=" + encodeURIComponent(cookieValue);

function get_cookie(cookie_name) {
    var results = document.cookie.match ('(^|;) ?' + cookie_name + '=([^;]*)(;|$)');
    return results ? decodeURIComponent(results[2]) : null;
}