UnicodeEncodeError: кодек charmap не может закодировать решение в трассировке?

Я как бы изо всех сил пытался заставить python читать этот конкретный текстовый файл .. (рис. 1)

Я пробовал кодировку (utf-8, ascii ..), но ничего не помогло. Затем через некоторое время я нашел решение в трассировке. (рис 2)

Теперь мой вопрос: как это приводит к ошибке, когда python читает правильную кодировку?

Рисунок 1:

rel_path = "DIR/text.txt"
print ('Getting data from: ' + rel_path + ': \n')
text_file = open(rel_path)

print (text_file.read())

Фигура 2:

File "test.py", line 14, in <module>
print (text_file.read())
File "LOCALDIR\Python\Python35\lib\encodings\cp850.py", line 19, in encode

return codecs.charmap_encode(input,self.errors,encoding_map)[0]
UnicodeEncodeError: 'charmap' codec can't encode character '\u2018' in position 4590: 
character maps to <undefined>

Обратите внимание, что файл python читает PYTHONDIR \ cp850.py ‹-

Когда я добавляю encoding = 'cp850' при открытии текстового файла, он работает. (рис 3)

Рисунок 3:

rel_path = "DIR/text.txt"
print ('Getting data from: ' + rel_path + ': \n')
text_file = open(rel_path, encoding='cp850')

print (text_file.read())

person Somaar    schedule 21.09.2015    source источник
comment
CP850 (кодовая страница 850 MS-DOS) может декодировать любой файл, но результат может быть нечитаемым. Расшифровывая файл в CP850, вы производите только «текст», который ваша консоль может распечатать. См. Дубликат, чтобы узнать, как заставить вашу консоль печатать не только символы, определенные в этой кодовой странице.   -  person Martijn Pieters    schedule 21.09.2015
comment
Другими словами, вам все еще необходимо определить правильную кодировку для входного файла. Вполне может быть что-то другое, кроме CP850.   -  person Martijn Pieters    schedule 21.09.2015
comment
Ах хорошо, я понял, спасибо за ответ!   -  person Somaar    schedule 22.09.2015