MySQL特殊字符在执行选择时显示其他结果,但不显示特殊字符

MySQL特殊字符在执行选择时显示其他结果,但不显示特殊字符,mysql,ruby-on-rails,character-encoding,special-characters,Mysql,Ruby On Rails,Character Encoding,Special Characters,我们有一张有几百个标签的桌子。其中一些具有特殊字符(西班牙语字符)。其中一些标签可能包含相同的字母,但不完全相同的字符串,包括和不包括特殊字符 让我举一个例子: select * from tags where name = 'olga tañón'; 我希望在结果中得到包含“olga tañón”的特定行,但MySQL却给了我一个结果: olga tañón olga tañon olga tanon 请注意,这两个字母是相同的,但其中一些字母有特殊字符(ñ和ó),而另一些则没有。

我们有一张有几百个标签的桌子。其中一些具有特殊字符(西班牙语字符)。其中一些标签可能包含相同的字母,但不完全相同的字符串,包括和不包括特殊字符

让我举一个例子:

 select * from tags where name = 'olga tañón';
我希望在结果中得到包含“olga tañón”的特定行,但MySQL却给了我一个结果:

 olga tañón
 olga tañon
 olga tanon
请注意,这两个字母是相同的,但其中一些字母有特殊字符(ñ和ó),而另一些则没有。表编码为拉丁1。我们使用的是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">]
Tag.where(:name=>“olga tañón”)
标签加载(94.6ms)从“标签”中选择“标签”。“名称”=“奥尔加·塔尼翁”
=> [#, #, #]
当我运行带有特殊字符的查询时,如果我们想要得到SELECT结果中返回的字符串,我们该怎么办


谢谢

我认为您需要指定排序规则-看看这个 还有这个 还有这个