Найти - Пользователи
Полная версия: UnicodeEncodeError:
Начало » Python для новичков » UnicodeEncodeError:
1
vlados
Как решить данную проблему?
В начале файла есть
#!/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
Указанная в начале файла кодировка дает знать интерпретатору в какой кодировке сохранен модуль, но эта кодировка не становится кодировкой интерпретатора по умолчанию!
операция str(retText) по сути дела эквивалентна вызову retText.encode('ascii') (ascii - и есть кодировка по умолчанию), поэтому операция и валится, т.к. в ascii нет кириллических символов.
Используй явное указание кодировки - retText.encode(“utf8”)

P.S. Подразумевается Python 2.X
vlados
ZAN, да, я после создания темы меня осенило залезть в доку и посмотреть мануал по стр. Но, все равно спасибо!
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB