Jump to content

Archived

This topic is now archived and is closed to further replies.

Fr4nK

problemas com acentuação no python 3.1.3 no windows

Recommended Posts

Estou usando python 3.1.3 no windows, eu queria manipular um arquivo txt no python mas eu estou com o seguinte problema, dps de executar no prompt interativo do python as seguintes linhas:

 

arquivo.txt

# -*- coding: utf-8 -*-
#
# VERSÃO 3.02
#

 

a = open("arquivo.txt")
linha = a.readlines()
print (linha[2])

 

ai eu ganho a seguinte msg:

 

Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
 File "c:\Python31\lib\encodings\cp437.py", line 19, in encode
   return codecs.charmap_encode(input,self.errors,encoding_map)[0]
UnicodeEncodeError: 'charmap' codec can't encode character '\xc3' in position 7:
character maps to <undefined>

 

 

 

pode ver que ele so da erro na linha que tem acentuação, dps de muito estudo eu "consegui" resolver mais ou menos o problema assim:

 

for x in range(len(linha)):
	print(x, linha[x].encode("cp437","replace").decode("utf-8","ignore"))

 

o fato que como ta o parâmetro ignore na parte de decodificação o que ele não acha fica com ponto de interrogação, fica até mais legível do que aqueles símbolos loucos que estavam aparecendo, mas o que eu queria mesmo era que as acentuações funcionacem.

 

bom segue agora o que eu ja tentei e não funcionou:

 


  •  
  • colocar # -*- coding: utf-8 -*- no começo do arquivo
  • no caso o erro cp437 eh o enconding do console do windows, tentei com o comando "chcp" mudar pra 1252 e outras variações mas parece que não resolveu.
  • milhares de combinaçoes de encode e decode
  • mudar o formato do arquivo no notepad++ para ansi,utf-8,ucs....mas nada, e outras coisas mais que eu nao lembro.
     

 

 

agradeço qualquer ajuda, fico no aguardo...

Share this post


Link to post
Share on other sites

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.