How to see the file's encoding in emacs?

emacs, encoding

Solution

You have several ways to get (and set) the buffer encoding:

You can see with the `U` in the mode-line that your buffer is in "Unicode", if you put the mouse over it, it will show in a tooltip the current buffer encoding.

you can also see the current encoding with C-hv `buffer-file-coding-system` RET

you can change the whole buffer encoding for next save with C-xRETf

you can also change the detected encoding to force an other one and reload the file with C-xRETr

you can set an encoding for the next I/O command only with C-xRETc

there are some other possibilities, take a look on C-xRETC-h

Fix and diagnose:

- Inside a buffer, if you are interested by a single character encoding / details, put the point on a chinese char and C-uC-x= will help. (The same without the C-u shows only a few informations about the character, and the encoding is not part of it.)

- examine the file by yourself:

- you can open a text file without any decoding or heuristic with M-x`find-file-literally`RET

- or you can go closer to the metal (hex editor) with M-x`hexl-find-file`RET or for current file M-x`hexl-mode`RET

- if the file is a mess with mixed encodings, you can fix portions with M-x`recode-region`RET

Problem

I don't find the encoding of current file, how to display it? You can see there are some Chinese characters in the file, but I don't know what the encoding it is. Is there any way to let it always show on the emacs GUI?

Original source