Как мне заставить emacs правильно отображать многобайтовый кодированный файл? Это мул? - PullRequest
4 голосов
/ 10 ноября 2009

Когда я открываю многобайтовый файл, я получаю это:

alt text

Ответы [ 3 ]

11 голосов
/ 10 ноября 2009

В краткосрочной перспективе вы можете вернуться к файлу с помощью альтернативной системы кодирования с помощью revert-buffer-with-coding-system (затем выберите utf-16le).

В среднесрочной перспективе вы можете увеличить приоритет этой кодировки utf-16le при загрузке с помощью prefer-coding-system.

Однако в долгосрочной перспективе вам лучше попытаться понять, почему emacs не выбрал правильную кодировку. Я не уверен, чем могу там помочь, если не копать в кишках системы кодирования или, по крайней мере, иметь файл для воспроизведения.

РЕДАКТИРОВАТЬ: имеет ли этот файл спецификацию ?

5 голосов
/ 10 ноября 2009

Если память используется, Emacs запросит у пользователя кодировку, если он не может ее определить. Когда он делает неправильное определение, вы можете использовать

C-x RET f coding RET

, которая будет использовать coding в качестве системы кодирования посещаемого файла в текущем буфере.

0 голосов
/ 16 мая 2019

В XML-файлах Emacs принимает это как прямой порядок байтов, в то время как Windows принимает это как прямой порядок байтов.

<?xml version="1.0" encoding="UTF-16"?>
<hi />

Попытка что-то вроде encoding = "UTF-16LE" или encoding = "UTF16-16BE" разрушит файл xml после сохранения. Это снимет спецификацию. utf-16le В блокноте нельзя открыть бомбу.

...