1

MySQL、UTF-8 和 Rails 3 应用程序的另一个编码问题。

我们最近将代码从 Rails 2 迁移到 Rails 3。我们使用 MySQL 和mysql2gem。问题是,在我们的旧数据库中,我们的内容包含一些 utf-8 字符而不是它们相应的 htmlentities,例如\xC3\x9F带有分词的 o。

我们将这些字符串作为必须进入网站的某些字符串的 YAML 序列化。问题是当数据库中的记录被加载到 ActiveRecord 对象中时,这是用奇怪的字符完成的,因此在网络上显示非常讨厌。例如,ß显示为Ã等。

我尝试了 Rails 3 的新编码魔法,尝试了各种组合force_encodingencode方法,但没有运气。

作为记录,mysql 是用这两行启动的:

character-set-server=utf8
collation-server=utf8_unicode_ci

关于我们做错了什么,为什么 YAML 没有正确读取那些转义字符以及我们可以做些什么来解决这个问题的任何想法?

干杯

4

1 回答 1

0

好的,我刚刚发现了问题所在:yaml 文本已完成,syck现在psyck不太喜欢它。

我在这里找到了答案https://stackoverflow.com/a/8570162/196708

于 2012-08-06T16:31:03.837 回答