我收到以下错误:
ActiveRecord::StatementInvalid: PG::Error: ERROR: invalid byte sequence for encoding "UTF8": 0xf66e6bf6 : INSERT INTO "response_sets" ("city") VALUES ('Jönköping') RETURNING "id"
数据库是 Heroku 应用程序上的 PostgreSQL 9.0.6。
当有奇怪的字符时,不确定如何解决该错误。
最佳答案
您的数据库未设置为与您尝试插入的字符串相同的编码方案。我想 Heroku 上的 Postgres 默认设置为使用 UTF-8,如果我不得不猜测的话,您的输入可能是拉丁语变体之一。您可以将数据库设置为接受您提供的编码方案,例如:
SET CLIENT_ENCODING 'ISO-8859-2'
或者您可以将输入转码为 UTF-8(这可能更好)
"my string".encode('UTF-8')
关于ruby-on-rails - Rails、PostgreSQL 和非标准字符的编码错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12728777/