Re: Uppercase version of ß desired - Mailing list pgsql-general

From Celia McInnis
Subject Re: Uppercase version of ß desired
Date
Msg-id CAGD6t7+gBe8HhOKistmtjQ=LnMiD76RLJiDWw9=PMpNzB=r0Vw@mail.gmail.com
Whole thread Raw
In response to Re: Uppercase version of ß desired  (Philip Semanchuk <philip@americanefficient.com>)
List pgsql-general
Thanks Philip. Certainly interesting, As long as postgresql and python return something different for upper and lower case versions of these letters and python indexing of the string picks out the characters "properly" then it might not require a python fix for me.

What a can of worms!  But at least postgresql and python do far better with unicode than mysql and perl did! :-)

Celia McInnis

On Tue, Mar 14, 2023 at 9:12 AM Philip Semanchuk <philip@americanefficient.com> wrote:


> On Mar 13, 2023, at 5:38 PM, Celia McInnis <celia.mcinnis@gmail.com> wrote:
>
> HI:
>
> I would be really happy if postgresql  had an upper case version of the ß german character. The wiki page
> https://en.wikipedia.org/wiki/%C3%9F
>
> indicates that the capital (U+1E9E ẞ LATIN CAPITAL LETTER SHARP S) was encoded by ISO 10646 in 2008.
>
> BTW the reason that I'd like upper('ß') to give something different than 'ß'  is because I have written a simple substitution puzzle for a large number of languages where I show the encrypted lower case words in upper case and the successful letter substitution submissions in lower case - so I need the upper and lower case versions of each letter to be different!
>
> Thanks for any assistance! Maybe I can hack what I want in python (which is what I am using for the puzzle).

Hi Celia,
I ran into this too back when we were transitioning from Python 2 to 3 (2 behaved differently from 3). While researching it I discovered this Python issue which maybe sheds some additional light on the subject: https://github.com/python/cpython/issues/74993

We ultimately found 90 characters that (under Python 3) grew longer when uppercased.

python -c "print([c for c in range(0x80, 0x22ff) if len(chr(c)) != len(chr(c).upper())])”


I hope this is at least interesting. :-)

Cheers
Philip


pgsql-general by date:

Previous
From: Kip Cole
Date:
Subject: Re: Uppercase version of ß desired
Next
From: Dominique Devienne
Date:
Subject: Re: Seq Scan because of stats or because of cast?