我们正在升级我们的系统以获得 IDNA 支持,但我目前正在努力进行域搜索。在我们的域名组合中,您可以搜索域名。IDNA 域在我们的数据库中保存为它们的 A 标签(café-modern.com
另存为xn--caf-modern-d7a.com
),我们只是在浏览器中显示它时将其转换为 U 标签。
问题是这完全破坏了我们的搜索。
当有人搜索时,café-modern.com
我可以轻松地将其转换为 IDNA 值并在WHERE domain_name LIKE ?
DB 查询的一部分中使用它,但是当有人仅搜索café
( xn--caf-dma
) 时,它也应该找到café-modern.com
一个解决方案是将 A-label 和 U-label 值都保存在数据库中,但这是我想保留的最后手段,因为数据集非常大,我想让数据库模式尽可能简单.