@KorwinD

Что делать с кодировками в python 3?

Собственно, программа сканирует папку с помощью os.listdir() и выводит в консоль все файлы, как только доходит до файла "GoL — копия.dat", то выдает ошибку
File "C:\Users\korwi\AppData\Local\Programs\Python\Python35-32\lib\encodings\cp866.py", line 19, in encode
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
UnicodeEncodeError: 'charmap' codec can't encode character '\u2014' in position
4: character maps to


При смене кодировки .encode() на "utf8", начинает выдавать строку "GoL \xe2\x80\x94 \xd0\xba\xd0\xbe\xd0\xbf\xd0\xb8\xd1\x8f.dat"

Собственно вопрос в том, как заставить консоль выдавать русские буквы и различные символы?
  • Вопрос задан
  • 1461 просмотр
Пригласить эксперта
Ответы на вопрос 1
@newpy
web-dev
видимо потому что в консоли не utf-8 кодировка. В виндовой консоли до win10 была вообще cp866, в win10 вроде стала win1251, стоило бы уточнить тогда уже какая система, та ли консоль. Потому что проблем с кодировками в python3 нет.

у меня в win10 нормально все
import os
os.listdir()

Выводит
... 'Searches', 'SendTo', 'Tracing', 'Videos', 'главное меню', 'Мои документы', 'Шаблоны' ..., 'GoL - копия.dat'
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы