This page is a tutorial on file and character encoding/decoding in emacs. If you are not familiar with what's encoding/decoding, see: UNICODE Basics: What's Character Encoding, UTF-8, and All That?.
In a buffer, how to find out what encoding system was used to decode current file?
Check the value of the variable buffer-file-coding-system.
You do that by calling
describe-variable 【F1 v】.
How to find out what's the current coding system used for opening and saving files?
How to set a encoding system for current buffer?
set-buffer-file-coding-system, then type the encoding system you want. Press Tab ↹ to see a list of possible values.
After you set a encoding system, you can save the file and it'll be saved in the new encoding system.
How to permanently choose a encoding system in emacs for opening and saving?
Choose the menu 〖Options ▸ Mule (Multilingual Environment) ▸ Set Language Environment〗. After that, be sure to pull the menu 〖Options ▸ Save Options〗 to save the setting in your emacs init file.
Or, just put this in your emacs init file:
;; UTF-8 as default encoding (set-language-environment "UTF-8")
What encoding systems emacs supports?
You can find out by calling
Is there a way to declare a file with a particular character encoding?
Yes. In the first line of your file, put
-*- coding: utf-8 -*-. That way, each time emacs open the file, emacs will presume that the file is encoded in utf-8. The line can start with a comment character(s) of your language, such as “#”, “//”. This magic line is also adopted by Python.
Where can one read more about Unicode in emacs?
To learn more about Unicode, see Xah's Unicode Tutorial.
Here's More Info About Unicode