eggJs中Cookie儲存中文的方法
前言
關於eggjs中的cookie / session用法,官方文件已寫的相當清楚,就不再贅述。可至文末參考資料參考
而在eggJs中,若將cookie存成中文,會直接報錯。
若真的很想要放,有兩種比較tricky的作法!
方法一:轉成base64
將想要儲存的中文字使用Node.Js原生的功能來轉換
new Buffer('hello world!').toString('base64');
// 得到 aGVsbG8sIHdvcmxkIQ==
new Buffer('aGVsbG8sIHdvcmxkIQ==', 'base64').toString();
// 得到 hello world!
cookie儲存時會存入類似一串亂碼的東西,使用時再轉換回來就可以順利取得中文字了
方法二:利用encrypt加密
同樣原理,將想要保存的中文加密,得到的也是一串亂碼字串
ctx.cookies.set(key, value, {
maxAge:24 * 3600 * 1000,
httpOnly: true,
encrypt: true,
});
取得時解密回來仍會是正常的中文字