【发布时间】:2013-08-15 00:45:54
【问题描述】:
我的问题是我的 API 服务器无法存储可以在 iOS 客户端上显示的字符。角色是1F49D (http://shapecatcher.com/unicode/info/128157)。
服务器端:
- 红宝石 1.9.3-p327
- 带有 mysql2 的 activerecord 3.2
- MySQL 服务器:5.5.28
仅供参考:
- 以前我们的 iOS 客户端使用 parse.com 作为持久性服务。现在,我们转移到我们拥有的 API 服务器(在 ruby 中实现)。
- 当我尝试使用
irb时。 Ruby 1.9 可以阅读和理解这个字符。 - 这是包含字符的文本。 https://gist.github.com/jacobdam/6220339/raw/1562815fe37df04293d3cee7d216e920415de715/gistfile1.txt
- 我将架构、表、列排序规则更改为
utf8和utf16。但它不起作用。
任何人都可以给我一个建议,如何在 mysql 中保存/检索此文本?
【问题讨论】:
-
你需要使用utf8mb4 charset而不是utf8(mb3)(意味着MySQL >= 5.5.3)
-
感谢@julp,
utf8mb3现在可以使用了。你可以发布一个答案,所以我可以接受你的答案吗? :) -
哦,对不起。我错过了错字。我的意思是
utf8mb4。我花了很长时间研究。因为不知道是ruby语言的问题,还是mysql2 gem,还是MySQL,还是AR等问题。
标签: mysql ruby-on-rails-3 ruby-on-rails-3.2 ruby-1.9.3 mysql2