Ошибка кодировки диспетчера пакетов

9

При запуске package-list-packagesя получаю следующую ошибку.

These default coding systems were tried to encode text
in the buffer ` *temp*':
  (iso-latin-1-dos (3242 . 37326) (3243 . 40165))
However, each of them encountered characters it couldn't encode:
  iso-latin-1-dos cannot encode these: 野 鳥

Как установить кодировку менеджера пакетов по умолчанию utf-8?

Мэтью Пизиак
источник
Помогает (set-default buffer-file-coding-system 'utf-8)?
PythonNut
2
В действительности, однако, что-то должно быть сделано с этой стороны сервера.
Шон Оллред

Ответы:

8

В зависимости от ваших предпочтений, вы можете использовать следующую строку в вашей, .emacsчтобы установить систему кодирования по умолчанию в utf-8. Это решило проблему для меня, и я не заметил никаких других негативных побочных эффектов.

(prefer-coding-system 'utf-8)
Райан
источник
Просто убедитесь, что вы поместили форму перед чем-то вроде(require 'package)
Шон Оллред
1

Если вам нужна кодировка по умолчанию, отличная от utf-8, вы можете использовать совет относительно функции list-package, чтобы принудительно использовать кодировку utf-8: ex:

(defun pte/list-packages (org-fun &rest args)
  "Ensure to set `buffer-file-coding-system' to utf-8 before calling `list-packages'."
  (let ((buffer-file-coding-system 'utf-8))
    (apply org-fun args)))

(advice-add 'list-packages :around #'pte/list-packages)

В моем ежедневном использовании мне нужно использовать:

(prefer-coding-system 'windows-1252)

Поэтому я посоветовал функцию list-package ... надеюсь, это поможет.

Пьер Течуерес
источник
0

У вас есть такая строка в вашем файле инициализации?

(set-language-environment "Latin-1")

Если это так, попробуйте удалить его.

Malabarba
источник