Ich habe viele Textdateien (Win, Mac, Unix) in einer einzigen Orgmode-Datei zusammengefasst. Bei einigen Zeichen sah ich Zahlen anstelle der richtigen Zeichen. Dinge wie \ 314 \ 203.
Ich habe "Revert-Buffer-with-Coding-System" verwendet und utf-8-hfs-unix gewählt. Das behebt es.
Aber jetzt bittet mich Emacs jedes Mal, wenn ich speichere, ein Codierungssystem zu wählen. Wenn ich Rohtext wähle, hört es auf zu fragen, aber wenn ich die Datei wieder öffne, sind die Zahlen zurück.
Wie behebe ich das?
org-mode
character-encoding
Jason Mirk
quelle
quelle
-*- coding: utf-8-hfs-unix;-*-
in der ersten Zeile Ihrer Datei? ( Gnu.org/software/emacs/manual/html_node/emacs/... )Antworten:
Dies passierte mir auch eine Weile, bevor ich eine Vorstellung davon hatte, was los war - hier ist ein Beispiel dafür, wie so etwas passieren kann - (wenn es darauf ankommt, bin ich unter Windows, falls es etwas Spezielles für diesen Build ist) - -
Angenommen, Sie haben eine Datei, die in UTF-8 codiert ist, und Sie fügen Text von einer Website ein, die mit der Codepage Latin-1 oder Windows-1252 codiert ist, z. B. ein O mit einem Umlaut oder geschweifte Anführungszeichen.
Jetzt haben Sie eine Folge von UTF-8-codierten Zeichen, gefolgt von etwas, das für UTF-8 entweder keinen Sinn ergibt oder möglicherweise falsch interpretiert wird. Wenn es nicht als korrekte UTF-8-Sequenz interpretiert werden kann, wird es als Rohwert angezeigt, z. B. oktal \ 326 (dies ist ein O mit einem Umlaut in der Latin-1-Codepage). Dies liegt daran, dass nach UTF-8 auf \ 326 insbesondere etwas mit einer 10 in den höchsten zwei Bits folgen soll, und wenn dies nicht der Fall ist, weiß es nicht, was es damit tun soll.
Wenn Sie beispielsweise zu https://www.gnu.org/software/emacs/manual/html_node/emacs/Intro.html#Intro gehen und Text kopieren, der geschweifte Anführungszeichen enthält, wie "Das" G "in GNU" Wenn Sie es in einen UTF-8-codierten Puffer einfügen, erhalten Sie "The \ 221G \ 222 in GNU".
Also ... was tun?
Zum einen können Sie den Puffer mit verschiedenen Codierungssystemen untersuchen, um festzustellen, ob diese Zeichen korrekt angezeigt werden, z. B. Windows-1252 und Latin-1 sind ziemlich häufig.
Wenn das Dokument auf diese Weise besser aussieht, können Sie es mit dieser neuen Codierung speichern. Es gibt jedoch viele verschiedene Codierungssysteme.
Um es wieder auf UTF-8 zu bringen, tun Sie es einfach
Ich bin mir nicht sicher, warum dies passiert - Emacs scheint zu wissen, wie etwas in der Zwischenablage codiert wurde, und übersetzt es entsprechend, aber es scheint dies nicht zu tun.
Weitere Erklärungen finden Sie unter /programming/1543613/how-does-utf-8-variable-width-encoding-work und http://kunststube.net/encoding/ .
quelle