Найти - Пользователи
Полная версия: Utf-8, чтение текстового файла
Начало » Python для новичков » Utf-8, чтение текстового файла
1
Guljaca
test.py и dialog.txt в кодировке Utf_8
Все равно пишет:
UnicodeDecodeError: ‘ascii’ codec can't decode byte 0xef in position 0: ordinal not in range(128)

В чем проблема? Как ее решить?

dialog = open('dialog.txt','r')
dialog = dialog.read()
if key == u'Ввести':
    txt = self.quest.text()
    if txt in dialog:
         print 1
ini читает
config = ConfigParserFix.ConfigParser()
config.readfp(codecs.open('dialog.ini', "r", "utf-8-sig"))
odnochlen
Очевидно же. dialog.read() возвращает str, а в txt у тебя, скорее всего, unicode.
Guljaca
odnochlen
Очевидно же. dialog.read() возвращает str, а в txt у тебя, скорее всего, unicode.

Так я пробовал вводить unicode(dialog.read()) - та же ошибка
Ок:
dialog = open('dialog.txt','r')
dialog = dialog.read()
dialog = unicode(dialog,'utf-8')

FishHook
# -*- coding:utf-8 -*-

?
odnochlen
А в dialog валидный utf8 без BOM?

Он случайно не на кодировку исходника матерится?
Guljaca
FishHook
# -*- coding:utf-8 -*-
Что делает эта строка? Я всегда думал, что она просто для удобства - показывает кодировку файла.

odnochlen
А в dialog валидный utf8 без BOM?
Не понимаю смысла этой фразы.

Так-то решение уже есть выше.
odnochlen
Guljaca
Я всегда думал, что она просто для удобства - показывает кодировку файла.
Не показывает, а задает.

Guljaca
Так-то решение уже есть выше.
Это?

Guljaca
Ок:
dialog = open('dialog.txt','r')
dialog = dialog.read()
dialog = unicode(dialog,'utf-8')
Тогда стоило бы яснее выразиться.
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