длина подсчета международного имени домена, выбрасываемого SQL (PostgreSQL) - PullRequest
1 голос
/ 28 июля 2011

У меня есть несколько доменных имен, сохраненных в базе данных в формате 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 было бы здорово, но сейчас это не вариант:)

1 Ответ

2 голосов
/ 28 июля 2011

Если вы можете установить ненадежные языки в вашу базу данных, например PL/PerlU или PL/PythonU, то вы можете создать punycode_decode функцию, используя Net::IDN::Encode модуль perl или decode('idna') член класса строки Pythonfunction.

Если вы этого не сделаете, вам нужно реализовать это с помощью pl / pgsql, что будет непросто.

...