vlados
Авг. 10, 2011 12:18:51
Как решить данную проблему?
В начале файла есть
#!/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)
ZAN
Авг. 10, 2011 13:45:33
Указанная в начале файла кодировка дает знать интерпретатору в какой кодировке сохранен модуль, но эта кодировка не становится кодировкой интерпретатора по умолчанию!
операция str(retText) по сути дела эквивалентна вызову retText.encode('ascii') (ascii - и есть кодировка по умолчанию), поэтому операция и валится, т.к. в ascii нет кириллических символов.
Используй явное указание кодировки - retText.encode(“utf8”)
P.S. Подразумевается Python 2.X
vlados
Авг. 10, 2011 13:52:58
ZAN, да, я после создания темы меня осенило залезть в доку и посмотреть мануал по стр. Но, все равно спасибо!