Ruby – Codificación de archivos UTF-8

Todos conocemos lo “mágico”.

# encoding: utf-8 

línea. Pero he visto varias otras notaciones alternativas, algunas de ellas bastante salvajes. ¿Conoces o usas alguno de esos? ¿Hay alguna regla más general de lo que es aceptable?

Edit: Ok, aparentemente hay exactamente 3 formas:

 # encoding: UTF-8 # coding: UTF-8 # -*- coding: UTF-8 -*- 

(más en http://blog.grayproductions.net/articles/ruby_19s_three_default_encodings )

No, no hay “exactamente 3 formas” para especificar el ‘comentario mágico’, hay un número infinito de ellas. Cualquier comentario en la primera línea que contenga coding: funcionará, de acuerdo con JEG2 :

… la forma preferida de configurar la encoding de origen … se llama un comentario mágico. Si la primera línea de su código es un comentario que incluye la encoding de la palabra, seguida de dos puntos y un espacio, y luego un nombre de encoding, la encoding de la fuente para ese archivo se cambia a la encoding indicada.

Entonces, cualquiera de estos debería funcionar:

 # coding: UTF-8 # encoding: UTF-8 # zencoding: UTF-8 # vocoding: UTF-8 # fun coding: UTF-8 # decoding: UTF-8 # 863280148705622662 coding: UTF-8 0072364213 # It was the night before Christmas and all through the house, not a creature was coding: UTF-8, not even with a mouse.