Невозможно напечатать тамильский символ в Python
Я пытаюсь использовать тамильский язык в Python. Но столкнулся с трудностями. Вот мой код
U=u'\u0B83'
print U
Это выдает ошибку,
UnicodeEncodeError: кодек 'ascii' не может кодировать символ u'\u0b83' в позиции 0: порядковый номер не в диапазоне (128)
Моя кодировка по умолчанию в ascii. Поскольку u0b83 уже находится в юникоде, он должен печатать символ на тамильском языке.
Я тоже пытался, # -- кодировка: utf-8 --. Но результаты такие же.
Как мне установить это в юникоде?
3 ответа
Что мне нужно было raw-unicode-escape
,
Если я использую encode('raw-unicode-escape').decode('utf-8')
все работает отлично. Я нашел ответ здесь, Python Конвертировать строки Unicode-Hex utf-8 в строки Unicode
По крайней мере, в Linux вы можете настроить свой язык на использование UTF-8 перед запуском Python:
$ export LC_ALL=en_GB.utf8
$ python
Конечно, вы можете использовать любую локаль с совместимой кодировкой (но я рекомендую UTF-8).
Или закодируйте строку при ее выводе:
>> print U.encode('utf-8')
ஃ
Взгляните на эти предыдущие вопросы и ответы на них: