使用Ruby on Rails忽略MySQL查询中的重音

时间:2010-11-05 07:10:42

标签: mysql ruby-on-rails activerecord non-ascii-characters

是否可以使用忽略重音的“=”或“喜欢”操作来执行MySQL查询?

示例:

select * from address where name like "Rua Tabapua"

返回

RuaTabapuá RuaTabapuã RuaTabapuà

等...

是否可以在不使用find_by_sql的情况下使用Ruby on Rails ActiveRecord API来实现?

谢谢,

Rubem

3 个答案:

答案 0 :(得分:1)

即使在MySQL中可能有一些方法,如果你想进行全文搜索,也许使用像Sphinx和Thinking Sphinx这样的全文索引引擎会更容易。

通过Sphinx进行索引时,您可以对其进行配置,以便忽略突出显示的字符等等...

答案 1 :(得分:0)

这听起来像是一个mysql配置问题。 完成此查询后,请检查mysql.log文件。您将看到查询是按照您的意愿进行的,但mysql返回的结果比您预期的要多。 在mysql控制台中尝试查询,你会看到同样的事情发生。

所有这些都在Ruby on Rails下面。

答案 2 :(得分:0)

您可以使用UTF-8和类似查询

来实现