Python: Encoding latin-1 utf-8

#!/usr/bin/python
# coding: latin-1

If script is stored in utf-8, a u character has to appear before any utf-8 strings, as in following example:

#!/usr/bin/python
# coding: utf-8

(....)

ws.write_string ("B6",u'Ñéñººª')

For cygwin users, python should be manually pointed at windows python available.

 ln -s  /cygdrive/c/Python27/python.exe /usr/bin/python

If encoding is not set up:

$ python fmyscript.py
  File "fmyscript.py", line 20
SyntaxError: Non-ASCII character '\xc3' in file ficha_conecta.py on line 20, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details

To learn more about encoding: https://www.python.org/dev/peps/pep-0263/

 

 

Python: problemas con tildes, ñ, acentos, etc.

#!/usr/bin/python
# coding: latin-1

Si elegimos usar UTF-8, en todas las cadenas que vayan a tener un carácter especial se debe especificar una U delante de la cadena:

#!/usr/bin/python
# coding: utf-8

(....)

ws.write_string ("B6",u'Ñéñººª')

Si el script va a ejecutarse desde cygwin, es necesario apuntar /usr/bin/python a la versión del sistema:

 ln -s  /cygdrive/c/Python27/python.exe /usr/bin/python

Si en los scripts de python, no está bien especificado el tipo de caracteres de los fuentes, ante cualquier carácter especial del castellano aparece el siguiente error:

$ python fmyscript.py
  File "fmyscript.py", line 20
SyntaxError: Non-ASCII character '\xc3' in file ficha_conecta.py on line 20, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details

Para saber más:  https://www.python.org/dev/peps/pep-0263/