Як я можу постійно змінювати кодування текстового файлу?

У мене є безліч HTML-файлів, закодованих як iso-8859-1-unix, і кілька закодованих в utf-8-unix. Я хочу, щоб кодувати всі їх у utf-8-unix. Я вже намагався (я думаю, що вони такі ж команди, насправді):

C-x C-m f utf-8-unix
C-x RET f utf-8-unix

modeline змінюється від 1 до U, але після того, як я закриваю файл і знову відкриваю його, modeline показує 1 ще раз. Здається, що я не можу змінити постійне, незалежно від того, що я намагаюся, і я не розумію чому.

За наведеними нижче пропозиціями, я створив новий файл із цим вмістом


C-h v buffer-file-coding-system returns this:

Its value is utf-8-unix
Local in buffer new.htm; global value is the same.

так виглядає добре. Я врятую, вбити буфер, відкрити файл і C-H V буфера файлу-кодування-системи повертає це:

Its value is undecided-unix
Local in buffer new.htm; global value is utf-8-unix

Я дійсно заплутався.

EDIT: дякую всім, що допомагає зробити це ясним!

5
Ви зберігаєте файл після зміни кодування?
додано Автор Louis Salin, джерело
Стандартним способом постійного встановлення кодування є додати його як локальну змінну файлу : Mx add-file-local-variable RET-кодування RET utf-8 RET , зберегти, і все закінчено. Але ми повинні знати вміст файлу, щоб зрозуміти, чому Emacs продовжує відкривати його за допомогою кодування ізо-8859-1.
додано Автор Ryan Cox, джерело
C-h v кодування RET ви повинні видалити цю команду в цьому буфері. Може бути, є особливий характер, який змушує Emacs вважати файл певним кодуванням. Або, можливо, у вас є щось у вашому файлі init.
додано Автор Ryan Cox, джерело
На жаль, моя помилка, див. У змінній буферний файл-кодування
додано Автор Ryan Cox, джерело
Приклад, який ви дали в питанні, містить лише символи ASCII. Таким чином, його кодування UTF-8 та шифрування латиниця-1 будуть однаковими. Зокрема, неможливо, щоб emacs розповідав про кодування, коли ви відкриваєте файл. У будь-якому випадку, якщо розділ <head> вашого HTML-файлу містить <meta charset = 'utf-8'> , тоді html-mode повинен використовувати це для визначення кодування, коли Ви відкриваєте файл. У цьому випадку не потрібно використовувати локальні змінні файлів.
додано Автор AttackingHobo, джерело
Так, це те, що я кажу.
додано Автор AttackingHobo, джерело
Функція prefer-coding-system може допомогти, але це глобальна перевага, а не файлова специфікація.
додано Автор user1126070, джерело
@ Йордон Біондо так я.
додано Автор Barnabas Nagy, джерело
@giordano як перевірити поточне значення локальної змінної файлу? вміст файлу нічого особливого, просто якийсь стандартний html.
додано Автор Barnabas Nagy, джерело
@giordano непарний якщо я виконую Ch v coding і натисніть RET, я отримаю запит вибрати завершення серед: coding-category - * , coding-system - * , і т. д., але це не схоже, що існує avariable називається просто coding
додано Автор Barnabas Nagy, джерело
@ Харальд Ханче-Олсен я бачу. Отже, якщо файл містить лише символи ASCII, це не вплине на зміст, якщо я встановлю кодування в латині-1, utf8 або залишити невирішеним. Що б я не вставив meta charset , буде кодування файлів?
додано Автор Barnabas Nagy, джерело

Відповідей немає

0