The relevant Unicode reference is https://unicode.org/faq/casemap_charprop.html#11
Which basically says that since Unicode 5.0 (its now at Unicode 15.0) stability is guaranteed and the upper-casing to (U+1E9E ẞ LATIN CAPITAL LETTER SHARP S) is optional. > On 14 Mar 2023, at 9:12 pm, Philip Semanchuk <phi...@americanefficient.com> > wrote: > > > >> On Mar 13, 2023, at 5:38 PM, Celia McInnis <celia.mcin...@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 > <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