2013-05-28 85 views
0

我們正在升級我們的IDNA系統支持系統,但我目前正在努力進行域名搜索。在我們的域名組合中,您可以搜索域名。 IDNA域名在我們的數據庫中保存爲A標籤(café-modern.com保存爲xn--caf-modern-d7a.com),並在瀏覽器中顯示時將其轉換爲U標籤。搜索IDNA域名

問題是,這完全打破了我們的搜索。
當有人搜索café-modern.com我可以很容易地將其轉換成IDNA價值和使用,在數據庫查詢的WHERE domain_name LIKE ?一部分,但如果有人搜索只是爲caféxn--caf-dma)也應該找到café-modern.com

一個解決辦法是保存數據庫中的A標籤值和U標籤值,但這就是我想保留作爲最後手段的原因,因爲數據集非常大,我希望保持數據庫架構儘可能簡單。

回答

0

這是如此的正常。我一直在使用類似的系統。我認爲你的設計是不正確的。不應該像(xn--caf-modern-d7a.com)那樣保存,您可以在數據庫上保存(café-modern.com)。在數據庫上錄製時,必須從IDNA值轉換爲UTF8值(或另一個值)。因此,您可以搜索café-modern.comcafé中的WHERE domain_name LIKE ?