web-dev-qa-db-fra.com

Comment rétablir le codage de texte en UTF-8 avec emacs?

Soudain, certains de mes fichiers texte que je modifie avec Emacs ont changé et les caractères spéciaux sont affichés de manière étrange, e. g.

\344 au lieu de ä
\374 au lieu de ü ... et ainsi de suite.

Dans un autre dossier, j'ai maintenant

ü pour ü
ä pour ä ....

(Je ne sais pas quel événement en était la cause, peut-être que j'ai fait quelque chose de mal.)

Je voudrais reconvertir le document à son état d'origine (mon encodage standard est UTF-8), afin qu'il s'affiche correctement avec ä, ö, ü, ... mais je ne sais pas comment faire cela avec emacs. .

23
MostlyHarmless

Si vous n'avez pas modifié le fichier, vous pouvez essayer M-x revert-buffer-with-coding-system. Un des latin-1 ou utf-8 devrait fonctionner, selon le fichier.

Vous pouvez également marquer le fichier entier avec C-x h, puis essayer M-x recode-region. Il vous demandera Text was really in et But was interpreted as. Pour le premier fichier de votre question, il semble que ce devrait être latin-1 et utf-8, et pour le deuxième exemple, ce devrait probablement être l'inverse, utf-8 et latin-1.

Une fois que vous avez bien compris, vous pouvez choisir le système de codage dans lequel enregistrer le fichier en utilisant M-x set-buffer-file-coding-system (ou C-x C-m f en bref).

27
legoscia

Le moyen le plus simple que j'ai trouvé est:

C-x RET r utf-8 RET

1
pilgix