У меня возникли некоторые проблемы с акцентами.
Я написал скрипт на Python, который получает слово " refeiçà £ o " из некоторого ввода (выборка IMAP), это словона португальском языке, и мне нужно преобразовать его, чтобы быть читаемым человеком.После декодирования он должен выглядеть как " refeição ", но я не получаю этот результат ...
>>> print a
refeição
>>> ENCODING = locale.getpreferredencoding()
>>> print ENCODING
UTF-8
>>> print a.encode(ENCODING)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 5: ordinal not in range(128)
>>> a.decode('utf-8')
u'refei\xe7\xe3o'
>>> print a.decode('utf-8')
refeição
Обновлено:
root@ticuna:/etc/scripts# locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
Кроме того, эти словавставляются в базу данных MySQL, и «нечитаемые» символы отображаются так же, как в терминале.Сортировка таблицы: utf8_general_ci