ข้อผิดพลาดการเข้ารหัสตัวจัดการแพ็กเกจ


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
แม้ว่าในความเป็นจริงแล้วสิ่งที่ควรทำเกี่ยวกับฝั่งเซิร์ฟเวอร์นี้
Sean Allred

คำตอบ:


8

คุณสามารถใช้บรรทัดต่อไปนี้ใน.emacsการตั้งค่าระบบการเข้ารหัสเริ่มต้นของคุณเป็น utf-8 ทั้งนี้ขึ้นอยู่กับความต้องการของคุณ นั่นช่วยแก้ไขปัญหาสำหรับฉันและฉันยังไม่ได้สังเกตเห็นผลข้างเคียงเชิงลบอื่น ๆ

(prefer-coding-system 'utf-8)

เพียงให้แน่ใจว่าคุณวางแบบฟอร์มก่อนหน้าเช่น(require 'package)
Sean Allred

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

คุณมีบรรทัดเช่นนี้ในไฟล์ init ของคุณหรือไม่

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

หากเป็นเช่นนั้นให้ลองลบออก

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.