Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 10, 2011 12:18:51

vlados
От:
Зарегистрирован: 2011-07-28
Сообщения: 64
Репутация: +  0  -
Профиль   Отправить e-mail  

UnicodeEncodeError:

Как решить данную проблему?
В начале файла есть

#!/usr/bin/env python
# -*- coding: utf_8 -*-
Вот ошибка:
Traceback (most recent call last):
File "pa.py", line 82, in <module>
test()
File "pa.py", line 80, in test
ru.write(str(retText))
UnicodeEncodeError: 'ascii' codec can't encode characters in position 247-253: ordinal not in range(128)



Офлайн

#2 Авг. 10, 2011 13:45:33

ZAN
От:
Зарегистрирован: 2007-06-10
Сообщения: 403
Репутация: +  10  -
Профиль   Отправить e-mail  

UnicodeEncodeError:

Указанная в начале файла кодировка дает знать интерпретатору в какой кодировке сохранен модуль, но эта кодировка не становится кодировкой интерпретатора по умолчанию!
операция str(retText) по сути дела эквивалентна вызову retText.encode('ascii') (ascii - и есть кодировка по умолчанию), поэтому операция и валится, т.к. в ascii нет кириллических символов.
Используй явное указание кодировки - retText.encode(“utf8”)

P.S. Подразумевается Python 2.X



Офлайн

#3 Авг. 10, 2011 13:52:58

vlados
От:
Зарегистрирован: 2011-07-28
Сообщения: 64
Репутация: +  0  -
Профиль   Отправить e-mail  

UnicodeEncodeError:

ZAN, да, я после создания темы меня осенило залезть в доку и посмотреть мануал по стр. Но, все равно спасибо!



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version