Ruby on rails 带有中文字符的Rails Cookie会导致错误的字符串
我使用rails 4+和angular 1.2.14开发应用程序。当我尝试将中文用户名保存到cookie时。我通过angularjs$cookieStore阅读。我得到一个奇怪的字符串,它是不可读的,基本上,我认为这是饼干本身的问题,不能直接保存中国的chracter。但是我找不到一个合适的方法来解决它。即使我使用string.force_编码('UTF-8'),也没有发生任何事情。下面是关于这个问题的核心代码 这是我在ruby控制器文件中存储cookie数据的内容:Ruby on rails 带有中文字符的Rails Cookie会导致错误的字符串,ruby-on-rails,angularjs,cookies,encode,Ruby On Rails,Angularjs,Cookies,Encode,我使用rails 4+和angular 1.2.14开发应用程序。当我尝试将中文用户名保存到cookie时。我通过angularjs$cookieStore阅读。我得到一个奇怪的字符串,它是不可读的,基本上,我认为这是饼干本身的问题,不能直接保存中国的chracter。但是我找不到一个合适的方法来解决它。即使我使用string.force_编码('UTF-8'),也没有发生任何事情。下面是关于这个问题的核心代码 这是我在ruby控制器文件中存储cookie数据的内容: cookies[:用户]
cookies[:用户]=用户信息(用户)
用户信息方法定义如下:
def用户信息(用户)
{
id:user.id.to_,
用户名:user.username,
角色:user.role,
过期时间:从现在起1.5小时
}.to_json
结束
我以前在angular services中注入$cookieStore就得到了:
\u current\u user=$cookieStore.get('user')
当我看到这个当前用户时,字段id和角色等英文字符是正确的。但是我得到的用户名是一个奇怪的字符串和\¾é
这个问题是由cookie save汉字本身引起的,还是仅仅是由angular引起的
这件事困扰了我几个小时。感谢那些回答这个问题的人