Como retornar a codificação de texto para UTF-8 com o emacs?

23

De repente, alguns dos meus arquivos de texto que estou editando Emacsforam alterados e os caracteres especiais foram mostrados de uma maneira estranha, por exemplo,

\344em vez de em ä
\374vez de ü ... e assim por diante.

Em outro arquivo agora tenho

üpara ü
äpor ä ....

(Não sei qual evento foi a causa disso, talvez eu esteja fazendo algo errado.)

Gostaria de converter o documento de volta ao seu estado original (minha codificação padrão é UTF-8), para que seja exibido corretamente com ä, ö, ü, ... mas não sei como fazer isso com o emacs .

Principalmente inofensivo
fonte

Respostas:

27

Se você não alterou o arquivo, você pode tentar M-x revert-buffer-with-coding-system. Um latin-1ou utf-8deve funcionar, dependendo do arquivo.

Você também pode marcar o arquivo inteiro C-x he tentar M-x recode-region. Ele solicitará Text was really ine But was interpreted as. Para o primeiro arquivo da sua pergunta, parece que deveria ser latin-1e utf-8, e para o segundo exemplo, provavelmente deve ser o contrário, utf-8e latin-1.

Depois de acertar, você pode escolher qual sistema de codificação salvar o arquivo usando M-x set-buffer-file-coding-system(ou C-x C-m fabreviado).

legoscia
fonte
Infelizmente, preciso desse comando com bastante frequência, então gostaria de definir um atalho de teclado para chamar a região de recodificação (orig: latin-1, interpretada como utf-8-dos) com um toque de tecla. Como posso definir um pequeno programa, o que faz isso e o que posso mapear para uma chave?
precisa saber é o seguinte
1
Você pode gravá-lo como uma macro e, em seguida, nomear, vincular e salvá-lo, conforme descrito aqui: gnu.org/software/emacs/manual/html_node/emacs/…
legoscia
1

A maneira mais fácil que encontrei é:

Cx RET r utf-8 RET

pilgix
fonte
Bem-vindo ao superusuário: Embora isso possa ou não responder à pergunta, seria uma resposta melhor se você pudesse fornecer alguma explicação ('qual evento foi a causa etc.') e por que sua solução funciona com detalhes e instruções fáceis de seguir ( o OP pode ou não entender o que precisa ser feito e futuros leitores também podem não ter certeza). Se você acha que sua resposta está correta, faça essas coisas e edite-a novamente. Por favor, tome um par de minutos e leu: - superuser.com/help .Answering: superuser.com/help/how-to-answer , mais uma vez bem-vindo ao superuser.Thankyou
mic84