我有一个使用 Postgres 的 Rails 应用程序。我有一个Document
具有name
属性的模型。某些名称包含重音字符。几个示例名称:
Condições Para Aplicação Da Lei
考虑一下Introdutórias
我正在使用以下方法查询具有特定名称的模型:
document = Document.where(name: "Example Document Name").first
只要名称不包含特殊字符,就可以正常工作,但是只要我使用包含任何重音字符的名称,查询就会返回 nil。
$ Document.all
$ #<Document id: 1, name: "Foo" ... >
$ #<Document id: 1, name: "Considerações Introdutórias" ... >
$ Document.where(name: "Foo").first
$ #<Document id: 1, name: "Foo" ... >
$ Document.where(name: "Considerações Introdutórias").first
$ # nil
当名称包含特殊字符时,为什么此查询会失败?
在我的config/application.rb
:
config.encoding = "utf-8"
在我的 `config/database.yml' 中:
encoding: utf8