0

IDNA をサポートするためにシステムをアップグレードしていますが、現在ドメイン検索に苦労しています。当社のドメイン ポートフォリオでは、ドメインを検索できます。IDNA ドメインはデータベースに A ラベルとして保存され (café-modern.comとして保存されますxn--caf-modern-d7a.com)、ブラウザで表示するときに U ラベルに変換するだけです。

問題は、これが私たちの検索を完全に壊してしまうことです。
誰かがcafé-modern.comIDNA 値に簡単に変換してWHERE domain_name LIKE ?DB クエリの一部で使用できますが、誰かがcafé( xn--caf-dma) だけを検索すると、それも見つかるはずですcafé-modern.com

解決策は、A ラベルと U ラベルの両方の値をデータベースに保存することですが、データセットが非常に大きく、データベース スキーマをできるだけシンプルに保ちたいため、これは最後の手段として保持したいものです。 .

4

1 に答える 1

0

それはとても正常です。私も似たような制度を利用しています。あなたのデザインは間違っていると思います。(xn--caf-modern-d7a.com) のように保存しないでください。DB に (café-modern.com) のように保存できます。DB に記録する場合、IDNA 値から UTF8 値 (または別の値) に変換する必要があります。café-modern.comしたがって、検索することができ caféますWHERE domain_name LIKE ?

于 2013-10-03T07:35:52.903 に答える