Помилка кодування менеджера пакунків


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, ви можете скористатися порадою навколо функції списку-пакету, щоб змусити використовувати кодування 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)

Тому я порадив функцію списку-пакету ... сподіваюся, що це може допомогти.


0

У вас є такий рядок у вашому файлі init?

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

Якщо так, спробуйте його видалити.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.