通过express4.0的cookies方法设置cookie时,写了中文的cookie值,一直失败。代码如下:
req.cookies.set('userInfo',JSON.stringify({
_id:userInfo._id,
username:userInfo.username,
role:new userInfo.role
}));
当username或role为中文是一直报错
解决方案:
把字符串转成base64即可
new Buffer('中文').toString('base64')
base64转到字符串
new Buffer(str, 'base64').toString();//str是base64编码的字符串
页面上边用的时候转为中文即可
res.render('/',{
userInfo:{
username:new Buffer(req.userInfo.username, 'base64').toString(),
role:new Buffer(req.userInfo.role, 'base64').toString()
}
});
这样就实现了中文cookie的处理
转载至:http://blog.csdn.net/luo200618/article/details/72789759