我们有一个包含几百个标签的表格。其中一些有特殊字符(西班牙字符)。其中一些标签可能包含相同的字母,但不包含特殊字符的字符串不完全相同。
让我举个例子:
select * from tags where name = 'olga tañón';
我希望在结果中得到具有“olgatañón”的特定行,但MySQL会给我一个结果:
olga tañón
olga tañon
olga tanon
请注意,它们是相同的字母,但有些字母具有特殊字符(ñ和ó),而其他字母则没有。表编码是latin1。我们使用的是Rails 3.2和MySQL 5.x
这是一个示例代码
Tag.where(:name => "olga tañón")
Tag Load (94.6ms) SELECT `tags`.* FROM `tags` WHERE `tags`.`name` = 'olga tañón'
=> [#<Tag id: 57502, name: "olga tañón">, #<Tag id: 75642, name: "olga tañon">, #<Tag id: 114622, name: "olga tanon">]
当我运行带有特殊字符的查询时,如果我们想要获得SELECT结果中返回的确切字符串,我们该怎么办。
谢谢!