开发者

How to store other languages (unicode) in cookies and get it back again

Can anyone help me understand how to store a cookie value that is in another language and than how to retrieve it again in that language.

I seem to have my foreign language cookies turn to garbage when retrieved after being stored.

Some code:

Write cookie code:

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

Retrieve Cookie code:

  <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> 

Thanks.


Use encodeURIComponent() when setting the cookie and decodeURIComponent() when retrieving it.

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;
}
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜