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@xxxxxxxxxxxxxxxxxxxxx> wrote:
> On Mar 13, 2023, at 5:38 PM, Celia McInnis <celia.mcinnis@xxxxxxxxx> 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