2011-07-28 7 views
1

データベースにidn形式( "xn--")で保存されたいくつかのドメイン名があります。私は勿論、私は「xn--」ドメインについての間違いを持っ​​ている、と私は(さらにPHPを使用していないSQLからのカウントを取得したいいくつかの統計クエリを実行したいのですが、これらのドメイン名国際的なドメイン名の長さをカウントするSQL(PostgreSQL)

SELECT 
    dom_name, 
    char_length(dom_name) as raw_length, -- counted with zone extension for now 
FROM 
    my_domains_table; 

上の文字をカウントするという問題がありますまたはその他の言語)。

または、より良い方法を教えてください。

- 最初に素晴らしいことだUTF-8にテーブルにドメイン名を保存していますが、PL/PerlUかのように、データベースへ信頼できない言語をインストールすることができた場合、これは今:)

答えて

2

オプションではありませんPL/PythonUの場合、Net::IDN::Encode perlモジュールを使用してpunycode_decode関数を作成するか、またはdecode('idna') python stringクラスメンバー関数を使用して関数を作成することができます。

もしそうでなければ、pl/pgsqlを使って実装する必要がありますが、これは簡単ではありません。

関連する問題