У меня странное поведение функции string.title() Python, если строка содержит немецкие умлауты (üöä). Затем выполняется не только первый символ строки, но и символ, следующий за умлаутом.Проблема с Python string.title() с немецкими umlauts
# -*- coding: utf-8 -*-
a = "müller"
print a.title()
# this returns >MüLler< , not >Müller< as expected
Пытался исправить путем установки локали германскому UTF-8 кодировкой, но не успех:
import locale
locale.setlocale(locale.LC_ALL, 'de_DE.UTF-8')
a="müller"
print a.title()
# same value >MüLler<
Любые идеи, чтобы предотвратить капитализацию после умляут?
Мой Python версии 2.6.6 на Debian Linux
Или используйте Python 3. – doublep
@doublep: где вы все равно можете воспроизвести ту же проблему, если используете 'bytes' вместо' str', что по сути является тем, что происходит здесь. –
Да, но в Python 3 строковых литерала уже имеют тип, который раньше был «unicode», поэтому вам не нужно расшифровывать. – doublep