我一直在努力解决这个问题,而我在SO上看到的其他答案还没有解决它。
只要用户的名称中包含重音,我的视图.html.erb
就会出现错误,例如è
名称中的任何位置:
console.log(<%= raw current_user.as_json({:include => :roles, :safe => true})%>);
从我所看到的情况来看,当返回current_user.as_json
时,所有密钥的编码值都为US-ASCII
,并且存在的密钥字符串为UTF-8
。如果我通过将其转换为字符串来检查其他值的编码,则它们也是US-ASCII
。
似乎当包含角色时,所有密钥都是UTF-8
,如果我to_s
的值是US-ASCII
,那么这会是我的某种配置错误吗?
我所做的改变/我尝试的事情:
# encoding: UTF-8
放在游戏中rb
个文件的顶部。database.yml
正在使用mysql2,其编码设置为utf8mb4
application.yml
有config.encoding = "utf-8"
Encoding::UTF_8
environment.rb
我假设在将哈希转换为视图中的JSON对象时存在某种问题,但我似乎无法弄清楚该问题是什么。
我正在使用Rails 4.2.9
和ruby 2.3.3