Як змяніць пастаянна кадоўку тэкставага файла?

У мяне ёсць куча 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

рэжымны змяняецца ад 1 да U, але пасля таго, як я закрыць файл і адкрыць яго, рэжымныя паказвае 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 надбудову файл лакальнай зменнай RET кадаваньне RET UTF-8 RET , захаваць, і вы зрабілі. Але мы павінны ведаць змест файла, каб зразумець, чаму Emacs захоўвае яго адкрыцця з ISO-8859-1 кадавання.
дададзена аўтар Ryan Cox, крыніца
<�Код> C-ч v кадаваньне RET вы павінны выдаць гэтую каманду ў гэтым буферы. Можа быць, ёсць спецыяльны сімвал, якія прымушаюць Emacs думаюць, што файл мае ў пэўнай кадоўцы. Ці, можа быць, у вас ёсць што-то ў вашым файле ініцыялізацыі.
дададзена аўтар Ryan Cox, крыніца
На жаль, мая віна, см буфер файлы кадаваньне-сістэма зменнай
дададзена аўтар Ryan Cox, крыніца
Прыклад вы далі ў гэтым пытанні ёсць толькі наступная сімвалы ASCII. Такім чынам, яго UTF-8 кадаванне і Latin-1 кадоўка будзе аднолькавым. У прыватнасці, няма ніякага спосабу для Emacs сказаць кадовак адзін ад аднаго, калі вы адкрываеце файл. Ва ўсякім выпадку, калі <head> Вашага HTML файл ўтрымлівае <�мета кадоўка = «UTF-8»> , то HTML-рэжым павінен выкарыстоўваць, каб вырашыць кадоўкай пры адкрыць файл. Няма неабходнасці выкарыстоўваць файл лакальныя зменныя ў гэтым выпадку.
дададзена аўтар AttackingHobo, крыніца
Так, гэта тое, што я кажу.
дададзена аўтар AttackingHobo, крыніца
Функцыя аддаваць перавагу-кадавання-сістэмы можа быць карысным, але гэта глабальнае перавагу, а не файл спецыфічныя.
дададзена аўтар user1126070, крыніца
@JordonBiondo да я.
дададзена аўтар Barnabas Nagy, крыніца
@giordano як я магу праверыць бягучы значэнне лакальнай зменнай файла? змест файла няма нічога асаблівага, проста некаторыя стандартнага HTML.
дададзена аўтар Barnabas Nagy, крыніца
@giordano дзіўна. калі я Ch v кадавання і націсніце RET я атрымліваю запрашэнне выбраць завяршэнне паміж: кадавання-катэгорыя - * , кадавання-сістэмы - * і г.д .. але гэта не выглядае як ёсць avariable называецца проста кадавання
дададзена аўтар Barnabas Nagy, крыніца
@ HaraldHanche-Olsen я бачу. Такім чынам, калі файл ўтрымлівае толькі ASCII сымбалі, гэта не робіць розніцы, калі я ўсталяваць кадыроўку Latin-1, utf8 ці пакінуць нявырашаным. усё, што я паклаў у мета кодавую будзе файл кадавання?
дададзена аўтар Barnabas Nagy, крыніца

адказаў няма

0