02/12/2013, 07:46
|
| | Fecha de Ingreso: abril-2011 Ubicación: Motril
Mensajes: 49
Antigüedad: 13 años, 8 meses Puntos: 1 | |
Codificacion de texto Estoy usando BeautifulSoup leer contenidos de paginas webs y tengo un problema.
La pagina web que leo esta en utf-8. Con BeatuifulSoup no hay problemas en esto, y cuando ejecuto msg = soup.a['title'] mete en la variable msg un string en utf-8 sin problemas.
El caso es que a la hora de guardar este valor en un fichero (o ponerlo por consola) me da errores:
- Si hago print(str(mgs)) todo va bien, acentos incluidos, pero llegan caracteres extraños y falla 'charmap' codec can't encode character '\x92' in position 3
- Si hago print(str.encode(msg,encoding="utf-8")) no da errores en la ejecución, pero me escribe tensi\xc3\xb3n en lugar de tensión, ademas de poner siempre la cadena como b'tensión', y no quiero que muestre este b'...'.
¿Hay una forma de imprimir esto bien? Los caracteres que fallan me da igual ignorarlos, pero no quiero quitar todas las letras con acento (al menos deberia dejar las letras sin el acento puesto, aunque no es lo ideal).
El fallo es con la consola de windows, pero no me sirve que funcione solo en linux. |