Как переключить обратно кодировку текста в UTF-8 с помощью emacs?


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 inи But was interpreted as. Для первого файла в вашем вопросе это выглядит так, как должно быть, latin-1и utf-8, а для второго примера, вероятно, должно быть наоборот, utf-8и latin-1.

После того, как вы все сделали правильно, вы можете выбрать, какую систему кодирования сохранить файл с помощью M-x set-buffer-file-coding-system(или C-x C-m fдля краткости).


К сожалению, мне нужна эта команда довольно часто, поэтому я бы хотел определить сочетание клавиш для вызова recode-region (orig: latin-1, интерпретируемого как utf-8-dos) одним нажатием клавиши. Как я могу определить небольшую программу, которая это делает и которую я могу сопоставить с ключом?
MostlyHarmless

1
Вы можете записать его в виде макроса, а затем имя, свяжи и сохранить его , как описано здесь: gnu.org/software/emacs/manual/html_node/emacs/...
legoscia

1

Самый простой способ, который я нашел, это:

Cx RET r utf-8 RET


Добро пожаловать в суперпользователя: хотя это может или не может ответить на вопрос, было бы лучше ответить, если бы вы могли дать какое-то объяснение («какое событие было причиной, и т. Д.») И почему ваше решение работает с подробностями и простыми инструкциями ( ОП может или не может понять, что необходимо сделать, и будущие читатели также могут быть не уверены). Если вы считаете, что ваш ответ правильный, сделайте это и отредактируйте. Пожалуйста , уделите несколько минут и читать: - superuser.com/help .Answering: superuser.com/help/how-to-answer , добро пожаловать снова в superuser.Thankyou
mic84
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.