- 论坛徽章:
- 0
|
我用php设置了一个用户名的Cookie,方法:setcookie('check_username', '用户名', 0),然后我在HTML页面里用javascript取这个Cookie
问题:取出的Cookie,显示字母没有问题,但中文Cookie无法正常显示,现在显示的是乱码?例子:请看本论坛首页面上方的登录信息,如你的用户名是中文,那你可能看到的是乱码(我听豆腐说在mozilla里面看没有问题)
我想这可能是一个中文是由两个字节组成的,而JavaScript以单字节来解码,所以产生了乱码。
如何用JavaScript来正确取得这个中文Cookie呢?我对JavaScript不熟,不知那位有经验的朋友能指定一二,多谢了!
附Cookie的JavaScript函数:
function getCookieVal( offset )
{
var endstr = document.cookie.indexOf( ";", offset );
if( endstr == -1 )
endstr = document.cookie.length;
return unescape( document.cookie.substring(offset, endstr) );
}
function getCookie( name )
{
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while( i < clen )
{
var j = i + alen;
if( document.cookie.substring(i,j) == arg )
return getCookieVal( j );
i = document.cookie.indexOf(" ",i) + 1;
if( i == 0 )
break;
}
return null;
} |
|