Невозможно напечатать тамильский символ в 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')
ஃ

Взгляните на эти предыдущие вопросы и ответы на них:

Python, Unicode и консоль Windows

Изменить кодировку Python по умолчанию?

Другие вопросы по тегам