1
resposta

Problemas com Encoding mesmo depois de colocar 'utf-8'

Vi que mais pessoas tiveram problemas com o encoding='cp1252'. Uma solução proposta foi especificar o encoding no momento que utilizar a função open ( arquivo = open("palavra.txt", "r", encoding="utf-8")). Porém, quando faço isso, aparece essa mensagem quando rodo o programa:

(result, consumed) = self.bufferdecode(data, self.errors, final) UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe1 in position 39: invalid continuation byte

1 resposta

Codecs são quase um trauma... sempre que trabalho com textos acabo investindo um bom tempo tratando o código até achar o codec correto.

Na maioria dos casos eu eu adiciono um "encode" e depois um "decode", sugiro utilizar encode('raw_unicode_escape') nas suas strings. Ex:

result = texto # se isso dá UnicodeDecodeError

result = texto.encode('raw_unicode_escape').decode('utf-8') # deve funcionar