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?
Here's More Info About Unicode