【发布时间】:2012-03-14 16:38:52
【问题描述】:
我们有一个包含数百个标签的表格。其中一些具有特殊字符(西班牙语字符)。其中一些标签可能包含相同的字母,但不完全相同的字符串有和没有特殊字符。
让我举个例子:
select * from tags where name = 'olga tañón';
我希望在结果中得到具有“olga tañó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 结果中返回的确切字符串,该怎么办。
谢谢!
【问题讨论】:
标签: mysql ruby-on-rails character-encoding special-characters