estoy unPython: ¿Cómo hacer que StringIO.writelines acepte una cadena unicode?
UnicodeEncodeError: 'ascii' codec can't encode character u'\xa3' in position 34: ordinal not in range(128)
en una cadena almacenada en 'a.desc' a continuación, ya que contiene el carácter '£'. Se almacena en el almacén de datos subyacente de Google App Engine como una cadena Unicode, así que está bien. La función cStringIO.StringIO.writelines está tratando de parecer tratando de codificar en formato ASCII:
result.writelines(['blahblah',a.desc,'blahblahblah'])
¿Cómo se instruyen para el tratamiento de la codificación Unicode como si esa es la expresión correcta?
motor de aplicación se ejecuta en pitón 2,5
Cambié (cStringIO está destinado a ser mejor en cuanto a rendimiento) y no arrojó un error, pero sí imprimió 'Â £' en lugar de solo '£'. ¿Por qué aparece 'Â' ahora? – rutherford
'Â £' es la decodificación de Windows-1252 de 0xc2 0xa3 que es la codificación UTF-8 de u '£'. Tal vez su terminal, aplicación o donde sea que esté viendo eso está configurado para Windows-1252 en lugar de UTF-8. – Phil
hmm. Básicamente estoy viendo una respuesta del servidor web a través del navegador Chrome. ¿Ese sería el problema? – rutherford