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?

Matthew Piziak
fonte
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)
Ryan
fonte
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.

Pierre Téchoueyres
fonte
0

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

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

Nesse caso, tente removê-lo.

Malabarba
fonte