Consolidé muchos archivos de texto (win, mac, unix) en un solo archivo orgmode. Para algunos personajes estaba viendo números en lugar de los caracteres correctos. Cosas como \ 314 \ 203.
Usé "revert-buffer-with-coding-sytem" y elegí utf-8-hfs-unix. Eso lo arregla.
Pero ahora cada vez que guardo, Emacs me pide que elija un sistema de codificación. Si elijo el texto sin formato, deja de preguntar, pero cuando vuelvo a abrir el archivo, los números vuelven.
¿Cómo puedo solucionar esto?
org-mode
character-encoding
Jason Mirk
fuente
fuente
-*- coding: utf-8-hfs-unix;-*-
en la primera línea de su archivo? ( gnu.org/software/emacs/manual/html_node/emacs/… )Respuestas:
Esto me sucedió por un tiempo también antes de tener una idea de lo que estaba sucediendo, aquí hay un ejemplo de cómo puede suceder algo como esto (si es importante, estoy en Windows, en caso de que sea algo específico de esta compilación) -
Digamos que tiene un archivo que está codificado en UTF-8, y pega un texto de un sitio web que está codificado con la página de códigos Latin-1 o Windows-1252, por ejemplo, una O con una diéresis o comillas rizadas.
Ahora tiene una secuencia de caracteres codificados con UTF-8 seguida de algo que no tiene sentido para UTF-8 o que posiblemente será malinterpretado. Si no puede interpretarlo como una secuencia UTF-8 correcta, lo mostrará como el valor bruto, por ejemplo, octal \ 326 (que es una O con una diéresis en la página de códigos Latin-1). Esto se debe a que para UTF-8, se supone que el \ 326 en particular va seguido de algo con un 10 en los dos bits más altos, y si no es así, no sabe qué hacer con él.
Por ejemplo, si fuera a https://www.gnu.org/software/emacs/manual/html_node/emacs/Intro.html#Intro y copie algún texto que incluya comillas rizadas, como "La 'G' en GNU" y pegarlo en un búfer codificado UTF-8, terminaría con "The \ 221G \ 222 en GNU".
¿Entonces lo que hay que hacer?
Por un lado, puede mirar el búfer con diferentes sistemas de codificación para ver si mostrará esos caracteres correctamente, por ejemplo, Windows-1252 y Latin-1 son bastante comunes:
Si el documento se ve mejor de esta manera, puede guardarlo con esta nueva codificación. Sin embargo, hay muchos sistemas de codificación diferentes.
Para volver a ponerlo en UTF-8, solo haz
En cuanto a por qué sucede esto, no estoy seguro: parece que Emacs sabría cómo algo estaba codificado en el portapapeles y lo traduciría en consecuencia, pero no parece hacer esto.
Para obtener más explicaciones, consulte /programming/1543613/how-does-utf-8-variable-width-encoding-work y http://kunststube.net/encoding/ .
fuente