ruby-on-rails - Ruby 2.2:PG::CharacterNotInRepertoire:错误:编码 "UTF8"的无效字节序列

标签 ruby-on-rails ruby postgresql

我正在升级 Rails 4.1 应用程序以使用 Ruby 2.2。在升级期间,事实证明该应用程序使用了旧版本的 pg gem (0.12),并且 gem 没有使用 Ruby 2.2 安装。所以我尝试使用更新版本的 pg gem (0.17.1)。现在在系统中创建新用户时有时会出现以下错误:

PG::CharacterNotInRepertoire: ERROR: invalid byte sequence for encoding "UTF8"

Ruby 2.2 和 Postgres 是否存在任何已知问题?

看起来应用程序配置为使用 unicode:config.encoding = "utf-8" 在 application.rb 中设置,encoding: unicode 在 database.yml 中

SQL语句:

INSERT INTO "users" (
  "confirmation_sent_at", 
  "confirmation_token", 
  "created_at", 
  "email", 
  "encrypted_password", 
  "first_name", 
  "last_name", 
  "updated_at") 
  VALUES ($1, $2, $3, $4, $5, $6, $7, $8) 
  RETURNING "id"

最佳答案

看起来这是“pg”gem 的一个已知问题:https://bitbucket.org/ged/ruby-pg/issue/197/ruby-220-byte-encoding-issue

它应该在 0.18 预发布版中修复

关于ruby-on-rails - Ruby 2.2:PG::CharacterNotInRepertoire:错误:编码 "UTF8"的无效字节序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27683318/

相关文章:

java - 将 PostgreSQL Query 转换为对应的 Hibernate Query

mysql - rails 的查询速度很慢

ruby - 如何使用 capybara 访问电子邮件中的链接

sql - 如何在 Ruby on Rails 中实现复杂的 SQL 查询?

ruby-on-rails - Capistrano 中的角色数组

mysql - SQL如何对给定范围的列进行分组并连接到其他表以计算与第一列相关的行

ruby-on-rails - 在 rails 中跳过 JSON 格式生成脚手架

ruby-on-rails - 在 ruby​​ 中解析一个巨大的 JSON 文件的最佳方法

javascript - 将 Javascript 的 getTime() 方法创建的时间转换为 ruby​​ Time 对象

sql - 如何在两个自连接列中选择不同的记录?