Emacsがファイルのエンコーディングを誤って認識した場合、C-x RET r (revert-buffer-with-coding-system)
を使用して、正しいコーディングシステムでファイルを再読み込みできます。このコマンドを実行すると、使用するコーディングシステムの入力が求められます。Emacsが実際にファイルのデコードにどのコーディングシステムを使用したかを確認するには、モードラインの左端付近にあるコーディングシステムの識別文字(モードラインを参照)を確認するか、C-h C (describe-coding-system)
と入力してください。
特定のファイルのコーディングシステムは、ファイル自体において、冒頭に ‘-*-…-*-’
構文を用いるか、あるいは末尾にローカル変数リストを記述することで指定できます(ファイル内のローカル変数を参照)。具体的には、coding という名前の “変数” に値を定義します。Emacs に実際には
coding
という変数は存在せず、変数を設定する代わりに、ファイルに指定されたコーディングシステムが使用されます。例えば、‘-*-mode: C; coding: latin-1; -*-’
は、Latin-1 コーディングシステムと C モードの使用を指定します。ファイル内でコーディングを明示的に指定した場合、それは file-coding-system-alist よりも優先されます。