Erro de codificação do gerenciador de pacotes


9

Ao executar package-list-packages, recebo o seguinte erro.

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: 野 鳥

Como posso definir a codificação padrão do gerenciador de pacotes utf-8?


Será que (set-default buffer-file-coding-system 'utf-8)ajuda?
PythonNut

2
Na realidade, porém, algo deve ser feito sobre esse lado do servidor.
Sean Allred

Respostas:


8

Dependendo da sua preferência, você pode usar a seguinte linha .emacspara definir seu sistema de codificação padrão como utf-8. Isso resolveu o problema para mim e ainda não notei outros efeitos colaterais negativos.

(prefer-coding-system 'utf-8)

Apenas certifique-se que você coloque a forma antes de algo como(require 'package)
Sean Allred

1

Se você precisar de uma codificação padrão diferente de utf-8, poderá usar um conselho sobre a função list-package para forçar o uso da codificação 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)

No meu uso diário, preciso usar:

(prefer-coding-system 'windows-1252)

Então, eu recomendo a função list-package ... espero que isso ajude.


0

Você tem uma linha como esta no seu arquivo init?

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

Nesse caso, tente removê-lo.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.