Konwersja kodowania znaków pod Emacsem

Dziś typowe zadanie programistyczne. Ściągnięta piosenka do UltraStarDeluxe ma złe kodowanie 😀

Na ekranie wyświetlają się krzaki i źle się śpiewa. Plik ze słowami po wczytaniu wygląda tak:

czyli najwyraźniej było wpisane na Windzie w CP-1250. Trzeba z tego łatwo i szybko zrobić unicode.

Robię tak:

dodaję na początku pliku wiersz:

-*- coding: cp1250 -*-

potem zapisuję plik C-x C-s i wczytuję od nowa:

jak widać teraz Emacs zajarzył literki i wszystko wygląda dobrze – tyle że sam plik ciągle jest zapisany w cp-1250. Zmieniamy więc kodowanie bufora na UTF-8 – M-x set-buffer-file-coding-system i podajemy utf-8-unix.

Robimy dowolną zmianę w pliku – typu spacja-backspace i zapisujemy plik.

Gotowe – plik przekodowany na utf8 i można korzystać.