PGError:Rails测试环境中不完整的多字节字符错误

时间:2011-08-20 18:25:57

标签: ruby-on-rails postgresql encoding

我正在将一个Rails 2.3.8应用程序(在ruby 1.8.7上)从MySQL转换为Postgres 9.x,而且它的一切似乎都在开发模式下正常工作我的所有测试(标准单元和功能测试与yml fixtures)立即错误消息:

test_mytest_name(my_thing_im_testing):
PGError: incomplete multibyte character

/usr/local/lib/ruby/1.8/erb.rb:719:in `inject'

test.yml for test是:

test:
    adapter: postgresql
    encoding: utf8
    database: ir_test
    username: postgres
    password: password

我怀疑问题是加载yml灯具。我已经证实他们被保存为utf-8(通过Textmate),但没有运气。

1 个答案:

答案 0 :(得分:0)

错误确实与YML灯具有关。我一直在使用YAML DB gem导出一些生产数据用作灯具,它显然不会将文件输出为UTF-8。

我最终手动完成并删除了YML字段声明末尾的“额外”空格,一切都开始工作了。