2011-07-28 2 views
1

데이터베이스에 idn 형식 ("xn--")으로 저장된 여러 도메인 이름이 있습니다. 내가국제 도메인 이름 카운트 길이 SQL (PostgreSQL)

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 테이블에 먼저 저장 도메인 이름에서 은 좋은 것입니다,하지만 지금 옵션 :

답변

2

당신이 당신의 데이터베이스에 신뢰할 수없는 언어를 설치 할 수있는 경우, PL/PerlU 나처럼되지 않습니다 PL/PythonU이면 Net::IDN::Encode perl 모듈을 사용하거나 decode('idna') 파이썬 문자열 클래스 멤버 함수를 사용하여 punycode_decode 함수를 만들 수 있습니다.

그렇지 않으면 pl/pgsql을 사용하여 구현해야합니다. 쉽지는 않을 것입니다.