我的 Rails 应用程序中有 Level 记录,它包含 1 个字段(名称),可以包含带重音符号的字符。
1.9.3p125 :008 > Level.all
Level Load (0.4ms) SELECT "levels".* FROM "levels"
=> [#<Level id: 1, name: "Débutant">, #<Level id: 2, name: "Intermédiaire">, #<Level id: 3, name: "Avancé">]
但是当我查询时,我有:
1.9.3p125 :011 > Level.where("name = ?", "D\U+FFC3\U+FFA9butant").first
Level Load (0.3ms) SELECT "levels".* FROM "levels" WHERE (name = 'Dbutant') LIMIT 1
=> nil
Level.where("name = ?", "Débutant").first
使用rails c
as时无法输入,é
直接替换为\U+FFC3\U+FFA9
. 但在我的控制器中,结果是一样的,我无法查询重音字符串。
我目前使用 sqlite 进行测试。