Wie kann ich Notepad ++ davon abhalten, em-Striche durch chinesische Zeichen zu ersetzen?

1511
76987

Ich habe vor kurzem Notepad ++ verwendet. Wenn ich jedoch eine txt-Datei mit Em-Strichen öffne, werden diese als chinesische Zeichen angezeigt.


Hier ist ein Screenshot einer in Notepad geöffneten Testdatei:

image1


Und hier ist ein Screenshot der gleichen Datei, die in Notepad ++ geöffnet ist.

image2


Kann jemand dieses seltsame Verhalten erklären und erklären, wie man es verhindern kann?
Vielen Dank!

2
Ich würde vorschlagen, dass Sie Ihre Encoding-Einstellungen überprüfen möchten. Das heißt, selbst wenn ich damit spiele, konnte ich das Problem nicht mit echten Em-Strichen (Alt + 0151 in Windows) reproduzieren. Meine Vermutung ist es vielleicht extern (Quelle oder Systemeinstellungen)? Anaksunaman vor 6 Jahren 0
@Anaksunaman Meine Einstellungen sind die Standardinstallationseinstellungen. Ich habe keine Ahnung, welche "äußeren" Faktoren wirken könnten. Dies geschieht nur in Notepad ++. 76987 vor 6 Jahren 0
@ 76987 Ich konnte das Problem simulieren, als Sie das Erstellen eines Notepad-Dokuments mit Alt + 0151 `—` erklärten. Als ich dann Notepad ++ öffnete, sah es ähnlich aus wie auf dem Bildschirm. Dies ist wahrscheinlich genau so, wie Notepad ++ dieses Zeichen interpretiert. Wenn Sie jedoch zu den Kodierungsoptionen wechseln und sie in andere ändern (z. B. ANSI), wird das interpretierte Zeichen in etwas anderes geändert. Ich denke, das ist einfach, wie die Texteditor-Software die Zeichen interpretiert. Pimp Juice IT vor 6 Jahren 0
@ McDonald's Durch Ändern der Option ** Kodierung> Zeichensätze ** in Windows-1252 konnte ich die Em-Striche erscheinen lassen. Nach dem Schließen und erneutem Öffnen der TXT-Datei werden jedoch die chinesischen Zeichen zurückgegeben. Ich habe versucht, die Codierungseinstellungen für neue Dokumente in den Voreinstellungen zu ändern, aber das hat nicht geholfen. Die Lösung scheint also nur eine vorübergehende Lösung zu sein. 76987 vor 6 Jahren 0
@ 76987 - Sie können also die Standardeinstellung in Notepad ++ ändern, um immer die erforderliche Kodierung für die Anzeige der Zeichen zu verwenden. Siehe hierzu den Screenshot [hier] (https://i.imgur.com/ObmxsYG.png). aber gehen Sie zu `Einstellungen` | "Einstellungen" | "Neues Dokument" | und wählen Sie dann die Option aus dem Bereich * Encoding * aus, die Ihren Anforderungen entspricht. Wenn Sie das Dokument das nächste Mal schließen, dann das Dokument öffnen, sollte die neue Kodierung die Notepad ++ - Standardeinstellung sein. Pimp Juice IT vor 6 Jahren 0

1 Antwort auf die Frage

3
miroxlav

Ich kann das Problem reproduzieren.

Grund: Automatische Erkennung der Dateicodierung.

Ihre Datei ist in einer standardmäßigen 8-Bit-Codetabelle codiert, nämlich Windows-1252 (wie in Ihrem Kommentar unter der Frage angegeben), einer der 8-Bit-ANSI-Codierungen, die 256 mögliche Zeichen enthält. Es sieht jedoch so aus, als würde der Editor die Datei, die em-Striche enthält, so interpretieren, als befände er sich in Shift-JIS- Codierung. (Diese Codierung wird in der Statusleiste in der unteren rechten Ecke des Notepad ++ - Hauptfensters angezeigt, wenn das Problem auftritt.) Notepad ++ interpretiert daher Zeichen mit einem ASCII-Wert größer als 127 in der Datei als japanische Zeichen.

Lösung: Ändern Sie die Kodierung Ihrer Datei in UTF-8 (oder eine andere geeignete Kodierung).

  1. Öffnen Sie Ihre Datei.
  2. Verwenden Sie das Menü Kodierung> Zeichensatz> Westeuropäisch> Windows-1252, um zur richtigen Kodierung zu wechseln. Die Zeichen erscheinen erwartungsgemäß.
  3. Über das Menü Encoding> Convert to UTF-8 . Die Statusanzeige in der rechten unteren Ecke zeigt jetzt UTF-8-BOM .
  4. Speichern Sie Ihre Datei.

Vielleicht können Sie widersprechen, dass Sie UTF-8 nicht möchten, aber Sie haben diese Einschränkung in der Frage nicht angegeben, und im Allgemeinen gibt es keinen Grund, sie nicht zu verwenden. Dadurch bleiben alle Charaktere stabil, ohne dass Sie Probleme mit dem Erscheinungsbild haben. Die Einschränkung kann die Verarbeitung in älteren Anwendungen / Tools sein. Dann müssen Sie bei der ANSI-Kodierung bleiben, die sie benötigen.

Zusätzliche Information:

UTF-8 wird von Notepad, das mit Windows geliefert wird, vollständig unterstützt, sodass Sie hier keine Probleme bekommen. Ich empfehle jedoch, UTF-8-Dateien mit Stücklisten zu verwenden . UTF-8 ohne BOM funktioniert auch, aber wenn die Markierung fehlt, verlassen sich die Editoren auf die automatische Formaterkennung. Wie Sie sehen, kann es manchmal schief gehen. Ich habe gesehen, dass einige ältere Programme über BOM-Markierungen wie "Ungültige Zeichen am Anfang der Datei" klagten. und dann konvertierte ich meine Datei in UTF-8 ohne Stückliste.

UnicodeStandard unterstützt mehr als 256 Codepunkte: Die Gesamtzahl der unterstützten Nummern beträgt 1.114.112. Laut Wikipedia wird dieser Bereich derzeit von 136.755 Zeichen verwendet, die 139 moderne und historische Schriften sowie mehrere Symbolsätze abdecken. Der Rest ist zur späteren Verwendung reserviert. Wie Sie sehen, ist Unicode die Kodierung, die die meisten der weltweit meist verwendeten Zeichen abdeckt. Daher sollten Sie nie wieder Probleme mit der Codepage haben. Sie müssen nicht bei UTF-8 bleiben, Unicode kann auch als UTF-16, UTF-32 oder in mehreren exotischeren Darstellungen (UTF-7, UTF-1 und andere) oder in nicht-Übergangsformen wie UCS- dargestellt werden. 4 Von diesen wird UTF-8 am häufigsten unterstützt, daher empfehle ich dieses. Ohne Zeichen oberhalb des Codepunkts 127 ist es mit ASCII kompatibel (außer

Wenn ein Programm eine Codepage von Ihnen benötigt, wählen Sie die Codepage 65001 für UTF-8.

Wenn Sie alle Zeichen des Unicodes untersuchen möchten, einschließlich der Suche oder Filterung nach ihrem Namen oder anderen Eigenschaften oder der Identifizierung unbekannter Zeichen, verwenden Sie beispielsweise BabelMap .