¿Cómo cambiar de nuevo la codificación de texto a UTF-8 con emacs?

23

De repente, algunos de mis archivos de texto con los que estoy editando Emacshan cambiado y los caracteres especiales se muestran de una manera extraña, p. Ej.

\344en lugar de en ä
\374lugar de ü ... y así sucesivamente.

En otro archivo ahora tengo

üpara ü
äpor ä ...

(No sé qué evento fue la causa de eso, tal vez he estado haciendo algo mal).

Me gustaría convertir el documento a su estado original (mi codificación estándar es UTF-8), para que se muestre correctamente con ä, ö, ü, ... pero no sé cómo hacerlo con emacs .

Sobre todo inofensivo
fuente

Respuestas:

27

Si no ha cambiado el archivo, puede intentarlo M-x revert-buffer-with-coding-system. Uno de latin-1o utf-8debería funcionar, dependiendo del archivo.

También puede marcar todo el archivo con C-x hy luego intentarlo M-x recode-region. Te pedirá Text was really iny But was interpreted as. Para el primer archivo en su pregunta, parece que debería ser latin-1y utf-8, y para el segundo ejemplo, probablemente debería ser al revés, utf-8y latin-1.

Después de hacerlo bien, puede elegir qué sistema de codificación guardará el archivo con M-x set-buffer-file-coding-system(o C-x C-m fpara abreviar).

legoscia
fuente
Desafortunadamente, necesito ese comando con bastante frecuencia, por lo que me gustaría definir un atajo de teclado para invocar recode-region (orig: latin-1, interpretado como utf-8-dos) con una sola tecla. ¿Cómo puedo definir un pequeño programa, que hace eso y que puedo asignar a una tecla?
Mayormente inofensivo
1
Puede grabarlo como una macro y luego nombrarlo, vincularlo y guardarlo como se describe aquí: gnu.org/software/emacs/manual/html_node/emacs/…
legoscia
1

La forma más fácil que he encontrado es:

Cx RET r utf-8 RET

pilgix
fuente
Bienvenido al superusuario: si bien esto puede o no responder a la pregunta, sería una mejor respuesta si pudiera proporcionar alguna explicación ('qué evento fue la causa, etc.') y por qué su solución funciona con detalles e instrucciones fáciles de seguir ( el OP puede o no entender lo que hay que hacer y los futuros lectores también podrían no estar seguros). Si cree que su respuesta es correcta, haga estas cosas y vuelva a editar. Por favor tome un par de minutos y leer: - superuser.com/help .Answering: superuser.com/help/how-to-answer , de nuevo la bienvenida a superuser.Thankyou
mic84