Rails 求教:Rails 的编码问题

lmorenbit · 2015年01月16日 · 最后由 lmorenbit 回复于 2015年01月17日 · 1999 次阅读

因为要支持 ios 的 emoji 表情 所以把 mysql 的编码变成了 utf8mb4,同样也把 database.yml 的 encoding 变成了 utf8mb4

正确的 name 值是 "七里香 😄 😆 😊" 基本的 model 关系是一个艺人下有几张专辑 现在的问题是这样的: 从 console 里搜 Album.find(1)
name 里的值会是 "七里香???" 如果搜 @artist.albums.find(1) name 就是正常的 "七里香 😄 😆 😊 "

直接从 mysql 里读也是正常的。求教是什么原因?

mysql version: 5.6.20 rails version: 4.2 ruby version: 2.1.2p95

在 console 里 reload 一下也变成好的了。

rails 4.2?

#4 楼 @hooooopo 没用 另外如果是用了的话, @artist.albums.find(1) 会跟 Album.find(1) 有什么不同吗?

#5 楼 @lmorenbit 没用缓存插件就是 rails 自身的 bug 了 建议换 4.1 试试。因为 4.2 type cast 改动比较大……

#6 楼 @hooooopo ok, 回头建个 demo 试一下

需要 登录 后方可回复, 如果你还没有账号请 注册新账号