How to switch back text encoding to UTF-8 with emacs?

23

15

Suddenly some of my text files, I'm editing with Emacs had changed and special characters were shown in a strange way, e. g.

\344 instead of ä
\374 instead of ü ... and so on.

In another file I now have

ü for ü
ä for ä ....

(I don't know which event was the cause for that, maybe I've been doing something wrong.)

I'd like to convert the document back to its original state (my standard encoding is UTF-8), so that it is displayed correctly with ä, ö, ü, ... but I do not know how to do that with emacs.

MostlyHarmless

Posted 2013-02-11T12:31:35.480

Reputation: 1 708

Answers

27

If you haven't changed the file, you can try M-x revert-buffer-with-coding-system. One of latin-1 or utf-8 should work, depending on the file.

You can also mark the entire file with C-x h and then try M-x recode-region. It will ask you for Text was really in and But was interpreted as. For the first file in your question, it looks like it should be latin-1 and utf-8, and for the second example it should probably be the other way around, utf-8 and latin-1.

After you got it right, you can choose which coding system to save the file with using M-x set-buffer-file-coding-system (or C-x C-m f for short).

legoscia

Posted 2013-02-11T12:31:35.480

Reputation: 2 197

Unfortunately, I need that command quite often, so I'd like to define a keyboard shortcut to invoke recode-region (orig: latin-1, interpreted as utf-8-dos) with one keystroke. How can I define a little program, which does that and which I can map to a key? – MostlyHarmless – 2014-01-21T14:19:30.963

1

You could record it as a macro, and then name, bind and save it as described here: http://www.gnu.org/software/emacs/manual/html_node/emacs/Save-Keyboard-Macro.html

– legoscia – 2014-01-21T14:59:32.163

1

The easiest way I've found is:

C-x RET r utf-8 RET

pilgix

Posted 2013-02-11T12:31:35.480

Reputation: 21

Welcome to superuser: While this may or may not answer the question, it would be a better answer if you could provide some explanation ('which event was the cause, etc') and why your solution works with detail and easy to follow instructions (the OP may or may not understand what needs to be done and future readers could also be unsure). If you feel your answer is correct please do these things and re-edit. Please take a couple of minutes and read:- http://superuser.com/help .Answering: http://superuser.com/help/how-to-answer, again welcome to superuser.Thankyou

– mic84 – 2018-01-18T02:53:53.513