0

我有一个使用序列化字段的类,但发现我的一些文本在输入普通文本后会出现奇怪的字符。这与编码有关吗?我该如何解决?

我将 Heroku 与他们的 postgresql 数据库一起使用。在 SQLite 中执行此操作时,它就像一个魅力。

SQLite:

Ik zeg wat ik voel.

 Doe ik ...

Postgres:

Ik zeg wat ik voel.â¨â¨ Doe ik ...

谢谢!

4

2 回答 2

1

首先检查你的 postgresql 和你的系统编码它的 UTF-8(最安全),另外,检查config/database.yml你是否为 postgres 连接设置了编码 UTF-8。

如果这不能解决问题,则将 yaml 引擎更改为 syck,在您的文件config/boot.rb 上写入

require 'yaml'
YAML::ENGINE.yamler = 'syck' 

那应该可以解决奇怪的字符。

于 2012-12-17T09:27:27.493 回答
0

在 postgres 中,您正在解释 ISO-8859-1 中的 UTF-8 字节。鉴于在您的帖子中,有 2x U+2028 行分隔符,其 UTF-80xE2 0x80 0xA8表示为邮政。â¨0x80

因此,无论您查看结果是什么,问题都是为 UTF-8 获取正确的字节,但将它们解释为 ISO-8859-1。

于 2012-12-17T12:34:11.610 回答