Как отмечается в комментарии, проблема печати, скорее всего, связана с тем, как ваш терминал обрабатывает отображение символов Юникода. Вы можете проверить, соответствует ли символ ожидаемому, кодируя его в utf-8
байт или используя встроенный ord()
.
Если задана строка, представляющая один символ Unicode, вернуть целое число, представляющее кодовую точку Unicode этого символа. Например, ord ('a') возвращает целое число 97, а ord ('€') (знак евро) возвращает 8364. Это обратное значение chr () .
* 1013 Е.Г. *
Python 3.7.1 (default, Oct 23 2018, 19:19:42)
Type 'copyright', 'credits' or 'license' for more information
IPython 7.1.1 -- An enhanced Interactive Python. Type '?' for help.
IIn [1]: s = "ˈtau̯rum"
In [2]: print(s)
ˈtau̯rum
In [3]: for c in s:
...: print(c, c.encode('utf-8'), ord(c))
...:
ˈ b'\xcb\x88' 712
t b't' 116
a b'a' 97
u b'u' 117
̯ b'\xcc\xaf' 815
r b'r' 114
u b'u' 117
m b'm' 109