Wenn ich eine E-Mail senden möchte, die ich in Emacs verfasst habe, drücke ich C-c C-c
und es wird immer eine solche Fehlermeldung angezeigt:
These default coding systems were tried to encode text
in the buffer `2015-02-03_19:08:30_1':
(utf-8-unix (302 . 4194243) (303 . 4194208) (305 . 4194243) (306 .
4194217) (308 . 4194243) (309 . 4194221) (311 . 4194243) (312 .
4194227))
However, each of them encountered characters it couldn't encode:
utf-8-unix cannot encode these:
Click on a character (or switch to this window by `M-o'
and select the characters by RET) to jump to the place it appears,
where `C-u M-x what-cursor-position' will give information about it.
[...]
Zu diesem Zeitpunkt kann ich manuell eine Codierung auswählen und meine E-Mail wird gesendet. Was ich nicht verstehe ist, dass ich immer utf-8
als Codierung auswähle , wenn ich diese Nachricht erhalte und es einfach funktioniert! In der Nachricht heißt es jedoch, dass utf-8-unix
einige Zeichen nicht codiert werden können.
Kann mir jemand sagen, warum Emacs nicht utf-8
standardmäßig auswählen kann und was diese Fehlermeldung in diesem Zusammenhang bedeutet?
EDIT 2015/02/05
Ich verwende mu4e
und habe es (setq-default buffer-file-coding-system 'utf-8)
ohne Erfolg versucht (nach Auswertung dieses Ausdrucks ist der Wert der Variablen nicht 'utf-8
aber , wenn ich anfange, eine neue E-Mail zu schreiben 'utf-8-unix
).
EDIT 2015/02/06
Ich habe es auch versucht M-x set-keyboard-coding-system utf-8
und (setq mm-coding-system-priorities '(utf-8))
aber das hatte keine sichtbare Wirkung.
EDIT 2015/02/21
Ich habe gerade bemerkt, dass dieses Problem nur auftritt, wenn es smtpmail-queue-mail
ist t
. Ich denke, das Problem liegt in der E-Mail-Warteschlangenfunktion.
quelle
utf-8
in allen Puffern bevorzugt wird ?(setq-default buffer-file-coding-system 'utf-8)
mu4e
.(set-keyboard-coding-system 'utf-8)
helfen?Antworten:
Ich habe mich viel mit diesem Thema beschäftigt. Die Codierung hängt von den Informationen in der Datei ab. Wenn die Datei keine expliziten Informationen enthält, um festzustellen, um was es sich handelt, können Sie die oben genannten Informationen erhalten.
Wenn Ihre Arbeit nicht viele alte Systeme umfasst, die eine andere Codierung erfordern, können Sie die Standard-UTF-8-Codierung überall erzwingen . Es ist heutzutage praktisch ein Standard, zumindest im Westen (für mich jedenfalls), da es im Web dominiert; hat eine Eins-zu-Eins-Zuordnung mit ASCII; flexibel genug, um jeden Unicode-Charakter auf der Welt darzustellen. Damit Emacs UTF-8 standardmäßig überall verwenden kann:
Nach der Evaluierung behandelt Emacs neue Dateien, Puffer, Prozesse usw. so, als wären sie UTF-8. Beachten Sie, dass Emacs weiterhin ein anderes Codierungssystem verwendet, wenn die Datei eine dateilokale Variable wie diese
-*- coding: euc-tw -*-
oben in der Datei enthält. (Überprüfen Sie die48.2.4 Local Variables
Dateien im Emacs-Handbuch.)quelle
Ich verwende Emacs
compose-mail
(Cx m) zum Senden von E-Mails und bin auf ein ähnliches Problem bei der Codierung gestoßen. Ich bin mir nicht sicher, ob dies Ihnen helfen würde:quelle
Bei allen Einstellungen über wurden die Codierungsfenster weiterhin angezeigt. Ich habe mehr Nachforschungen angestellt und diese Einstellung herausgefunden:
Das Problem wurde für mich gelöst. Ich arbeite unter Mac OS 10.14.5, Emacs 26.1.
quelle