Тестирование консольных программ на Python со строками Unicode в NetBeans 6.9 - PullRequest
0 голосов
/ 12 августа 2010

Я пытаюсь запустить следующий простой код в NetBeans 6.9

s = u"\u00B0 Celsius"
print u"{0}".format(s)

Но я получаю следующую ошибку:

UnicodeEncodeError: 'ascii' codec can't encode character u'\xb0' in position 0: ordinal not in range(128)

Ответы [ 2 ]

4 голосов
/ 12 августа 2010

Консоль NetBeans, по-видимому, неправильно настроена для обработки печати не-ASCII-строк Юникода.

Как правило, следует избегать печати строк в кодировке Юникод без явного их кодирования (например, u_str.encode(some_codec).

В вашем конкретном случае вы, вероятно, можете просто сойти с рук:

print u'{0}'.format(s).encode('utf-8')
0 голосов
/ 12 августа 2010

У вас есть строка в кодировке Unicode, которую вы хотите закодировать.Предполагая, что вы хотите использовать кодировку UTF-8:

s.encode ('utf-8')

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...