0

我在我的 Rails 项目之一中面临一个问题。我的用户数据库包含带有特殊字符的名称,我希望在使用简单字符进行搜索时将它们显示在搜索结果中。示例:假设我有一个名为“ Noël Nocciolo ”的用户(请注意 e 上的软符号),如果我将“ Noel Nocciolo ”作为参数传递,我希望搜索该用户。

谁能告诉我如何处理这些情况,因为没有人知道如何提供“带两个点的 e”的输入。我正在使用 postgres 作为我的数据库。

问候, 卡兰

4

2 回答 2

2

您可以为搜索创建单独的字段“indexed_name”并仅使用 ASCII 字符填充它。

然后您必须使用.gsub('ë', 'e')(或任何其他非 ASCII 字符到其 ASCII 模拟)预处理查询字符串并使用此处理后的查询进行搜索

我相信有更优雅的方法可以将任何字符串转换为 ascii 模拟我刚刚给你的方向)

于 2013-10-03T10:42:37.470 回答
0
于 2013-10-03T12:07:06.357 回答