[New-bugs-announce] [issue34928] string method .upper() converts 'ß' to 'SS' instead of 'ẞ'

Marc Richter report at bugs.python.org
Mon Oct 8 05:49:32 EDT 2018


New submission from Marc Richter <marc.richter.1982 at googlemail.com>:

There's a special letter in German orthography called "eszett" (ß). This letter had no uppercase variant for hundreds of years until 2017, there was an uppercase variant added to the official German orthography called "capital eszett" (ẞ) [1].

Python's .upper() string method still translates this to "SS" (which was correct before 2017):

~ $ python3.7.0
Python 3.7.0 (default, Aug 29 2018, 17:15:17) 
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 'gruß'.upper()
'GRUSS'
>>>

The result of this example should have been 'GRUẞ' instead.
That being said, it's fair to inform about the fact that this letter is still quite unpopular in Germany; it is not even typeable with German keyboards, yet. Anyways, I think since this became officials orthography, it's not Python's job to adopt behaviors but clear rules instead.

I'm not sure if this affects .casefold() as well, since I do not get that method's scope.

BR,
Marc Richter


[1]: https://en.wikipedia.org/wiki/Capital_%E1%BA%9E

----------
components: Interpreter Core
messages: 327336
nosy: Marc Richter
priority: normal
severity: normal
status: open
title: string method .upper() converts 'ß' to 'SS' instead of 'ẞ'
type: behavior
versions: Python 2.7, Python 3.4, Python 3.5, Python 3.6, Python 3.7, Python 3.8

_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue34928>
_______________________________________


More information about the New-bugs-announce mailing list