Emacs File Encoding FAQ
This page is a tutorial on file and character encoding/decoding in emacs.
If you don't know what's encoding/decoding, first read: Unicode Basics: What's Character Set, Character Encoding, UTF-8?.
How to open a file with specific coding system?
Open it normally, then Alt+x
revert-buffer-with-coding-system, then type a coding system. Press Tab to list possible ones.
How to set a encoding system for saving file?
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.
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 Alt+x
describe-variable 【Ctrl+h v】.
How to find out what's the current coding system used for opening and saving files?
describe-coding-system then press Enter.
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 Alt+x
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 Unicode for Programers: Essays Index.
- Emacs: Unicode Tutorial
- Emacs File Encoding FAQ
- Unicode Basics: What's Character Set, Character Encoding, UTF-8?
- Emacs: Xah Math Input Mode
- Emacs: Xah Unicode Browser Mode