错误重现:(使用ctx.cookies.set时报错)
这是因为koa的http的header字符集支持US-ASCII子集的字符集,故设置中文是'utf8'时就会报上面错误
解决方法有两种:
1. 使用new Buffer().toString('base64')转换
2. 使用encodeURIComponent()转换
1 this.cookies.set('test', new Buffer('你好').toString('base64'))
1 new Buffer(ctx.cookies.get('test'), 'base64').toString();
或者
1 ctx.cookies.set('uname', encodeURIComponent('你好')) 2 3 decodeURIComponent(ctx.cookies.get('uname'))
如果value值是英文字符,无需转换