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).
- Öffnen Sie Ihre Datei.
- Verwenden Sie das Menü Kodierung> Zeichensatz> Westeuropäisch> Windows-1252, um zur richtigen Kodierung zu wechseln. Die Zeichen erscheinen erwartungsgemäß.
- Über das Menü Encoding> Convert to UTF-8 . Die Statusanzeige in der rechten unteren Ecke zeigt jetzt UTF-8-BOM .
- 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 .