Проблема с кодировкой при использовании .format()

При попытке вывести результат с помощью

print 'Совпадений нет - {}'.format(a)

появляется

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

если использовать

print "Совпадений нет", a

то все отрабатывает норм

Как правильно пофиксить эту проблему ? и почему первый вариант выдаёт ошибку а второй нет


Ответы (1 шт):

Автор решения: Grechkin 26

Для корректного вывода в shell или записи в файл мне помогло:

'Совпадений нет - {}'.format(a.encode('ascii', errors='ignore'))+'\n'
→ Ссылка