我有几个域名以idn格式(“xn--”)保存在数据库中。我想运行一些统计查询,但是在计算这些域名上的字符时会遇到问题
SELECT
dom_name,
char_length(dom_name) as raw_length, -- counted with zone extension for now
FROM
my_domains_table;
当然我对“xn--”域名有误,我想从sql中获取数(不使用php或其他语言)。
或者,请给我一些建议如何做得更好。
- 首先将UTF-8中的域名保存到表中会很棒,但现在这不是一个选项:)
答案 0 :(得分:2)
如果您可以将不受信任的语言安装到您的数据库,例如PL/PerlU
或PL/PythonU
,那么您可以使用punycode_decode
perl创建Net::IDN::Encode
函数模块或decode('idna')
python字符串类成员函数。
如果不这样做,那么你需要使用pl / pgsql来实现它,这并不容易。