2014-01-16 3 views
0

У меня есть строка, созданная из списка. Когда я пытаюсь отправить строку как тело сообщения электронной почты, я получаю эту ошибку:Python 3 unicode раздражает

UnicodeEncodeError: 'ascii' codec can't encode character '\u2013' in position 1242: ordinal not in range(128)

Это «ан» характер, или тире, взяты с веб-страницы.

Так что я пытался использовать этот код, чтобы решить проблему:

message = str(all_items) 
    message.replace('\u2013','-') 

Проблема заключается в том, что не работает. Пожалуйста, скажите мне, что я здесь делаю неправильно?

+0

Мы не знаем. Вы забыли показать код, который вы используете для составления электронной почты. –

+0

Можете ли вы показать, как создается строка? –

+0

Строка - это словарь выписок из веб-страницы. – Dirk

ответ

3

Возможно, вы хотели заменить string inplace?

str.replace не меняет строку inplace, но возвращает замененную строку.

Вы должны присвоить результат str.replace спины:

message = message.replace('\u2013', '-') 
+0

Aaaand ... Я идиот. Спасибо, что сделал. – Dirk

Смежные вопросы