Koa中设置中文Cookie值
默认情况下, 如果
1 ctx.cookies.set('user', '杨过', { 2 domain: 'xxxx', 3 path: 'xxxx', 4 maxAge: 24 * 60 * 60 * 1000, 5 expires: new Date('2018-07-28'), 6 httpOnly: false, 7 overwrite: false 8 })
这时运行服务, 会报错如下:表示value值无效。因为默认不支持中文字符
改写如下: 使用 new Buffer 转换成base64字符串
1 let value = new Buffer('杨过').toString('base64') 2 ctx.cookies.set('user', value, { 3 maxAge: 1000 * 60 * 60 * 24, 4 // domain: 'xxxx', 5 // path: 'xxx', 6 expires: new Date('2018-07-28'), 7 httpOnly: false, 8 overwrite: false 9 })
如要获取也必须使用new Buffer()
1 let user = new Buffer(ctx.cookies.get('user'), 'base64').toString()