From: | Thomas Munro <thomas(dot)munro(at)gmail(dot)com> |
---|---|
To: | 荒井元成 <n2029(at)ndensan(dot)co(dot)jp> |
Cc: | Peter Eisentraut <peter(dot)eisentraut(at)enterprisedb(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | Re: Unicode Variation Selector and Combining character |
Date: | 2022-06-01 07:39:55 |
Message-ID: | CA+hUKGJkRWSYvdukLVf2o_E3nGvxxHo7iDid0VK3KuMxHt+zDA@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Wed, Jun 1, 2022 at 7:09 PM Thomas Munro <thomas(dot)munro(at)gmail(dot)com> wrote:
> On Wed, Jun 1, 2022 at 6:15 PM 荒井元成 <n2029(at)ndensan(dot)co(dot)jp> wrote:
> > D209007=# select char_length(U&'\+0066FE' || U&'\+0E0103') ;
> > char_length
> > -------------
> > 2
> > (1 行)
> >
> > I expect length 1.
>
> No opinion here, but I did happen to see Noriyoshi Shinoda's slides
> about this topic a little while ago, comparing different databases:
>
> https://www.slideshare.net/noriyoshishinoda/postgresql-unconference-29-unicode-ivs
>
> It's the same with Latin combining characters... we count the
> individual codepoints of combining sequences:
>
> postgres=# select 'e' || U&'\0301', length('e' || U&'\0301');
> ?column? | length
> ----------+--------
> é | 2
> (1 row)
Looking around a bit, it might be interesting to check if the
icu_character_boundaries() function in Daniel Vérité's icu_ext treats
IVSs as single grapheme clusters.
From | Date | Subject | |
---|---|---|---|
Next Message | Michael Paquier | 2022-06-01 07:55:09 | Re: [PoC] Let libpq reject unexpected authentication requests |
Previous Message | Thomas Munro | 2022-06-01 07:09:23 | Re: Unicode Variation Selector and Combining character |