emacsでテキストエンコーディングをUTF-8に戻す方法は?


23

突然、私のテキストファイルの一部が編集Emacsされ、特殊文字が奇妙な方法で表示されました。

\344 ... のä
\374代わりにü...など。

私が今持っている別のファイルに

üのためü
ää ....

(どのイベントがその原因であるかはわかりませんが、何か間違ったことをしているのかもしれません。)

ドキュメントを元の状態に変換したい(私の標準エンコーディングはUTF-8です)ので、ä、ö、ü、...で正しく表示されますが、emacsでそれを行う方法がわかりません。

回答:


27

ファイルを変更していない場合は、を試すことができますM-x revert-buffer-with-coding-system。一つlatin-1またはutf-8ファイルによっては、動作するはずです。

ファイル全体をでマークしてC-x hからを試すこともできますM-x recode-region。それはをお願いしますText was really inBut was interpreted as。あなたの質問の最初のファイルの場合は、それがあるべきように見えるlatin-1utf-8、第二例えばそれはおそらく他の方法で回避する必要があります、utf-8latin-1

正しく設定したら、使用してM-x set-buffer-file-coding-system(またはC-x C-m f短縮して)ファイルを保存するコーディングシステムを選択できます。


残念ながら、このコマンドはかなり頻繁に必要になるため、キーボードショートカットを定義して、1回のキーストロークでrecode-region(orig:utf-8-dosと解釈されるlatin-1)を呼び出したいと思います。小さなプログラムを定義するにはどうすればよいですか?それはそれを行い、キーにマップできますか?
MostlyHarmless

1
これをマクロとして記録し、次に説明するように名前を付け、バインドして保存します。gnu.org
software

1

私が見つけた最も簡単な方法は次のとおりです。

Cx RET r utf-8 RET


スーパーユーザーへようこそ:これは質問に答えるかどうかはわかりませんが、説明(「どのイベントが原因かなど」)とソリューションが詳細で指示に従うことが容易な理由( OPは何をする必要があるかを理解する場合としない場合があり、将来の読者も不確かになる可能性がある 答えが正しいと思う場合は、これらのことを行い、再編集してください。数分を取り、お読みください: - superuser.com/help .Answering:superuser.com/help/how-to-answer、再びsuperuser.Thankyouへの歓迎
mic84
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.