Ich verwende WinSCP , um über SFTP mit einem Remote-Server zu arbeiten, auf dem eine Linux-Distribution ausgeführt wird. Ich verwende auch Notepad ++ (neueste Version) als Texteditor (beim Bearbeiten einer Remote-Datei).
Wenn ich WinSCP verwende, um eine neue Datei auf dem Remote-Server zu erstellen, mit:
Right click > New > File...
Notepad ++ öffnet die leere Datei, aber die Codierung wird als ANSI anstelle von UTF-8 ohne Stückliste angezeigt, was meine Standardeinstellung ist. Ich habe sogar die Option "Auf geöffnete ANSI-Dateien anwenden" in Notepad ++ aktiviert
Settings / Preferences / New Document / Encoding /
UTF-8 without BOM / Apply to opened ANSI files
Aus diesem Encoding / Convert to UTF-8 without BOM
Grund muss ich jedes Mal manuell auswählen , und wenn ich aus irgendeinem Grund vergesse, diesen Schritt auszuführen, wird die Datei als ANSI gespeichert, was zu Problemen führen kann.
Gibt es eine Möglichkeit, die neue Datei von Anfang an als UTF-8 ohne Stückliste zu codieren?
Antworten:
Beim Überprüfen des Notepad ++ - Quellcodes kann ich feststellen, dass die Option "Auf geöffnete ANSI-Dateien anwenden" falsch gekennzeichnet ist. Es sollte "Auf geöffnete ASCII- Dateien anwenden" lauten, da dies nur für 7-Bit-Dateien (ASCII) gilt.
Eine leere Datei wird als 8-Bit-Datei (ANSI) "erkannt", daher gilt diese Option niemals für leere Dateien.
Das kommt
UnicodeConvertor.getEncoding()
immer zurück,uni8Bit
wenn die Datei leer ist.Ich schlage vor, Sie melden dies als Fehler.
Es scheint auch keine Befehlszeilenoption zu geben, um eine andere Codierung zu erzwingen.
quelle
Dies scheint in Notepad ++ 6.4.5 ( https://notepad-plus-plus.org/download/v6.4.5.html) behoben zu sein
Wenn jedoch eine neue Datei in WinSCP erstellt und mit Notepad ++ geöffnet wird, zeigt die Codierung in der unteren rechten Ecke des Editors ANSI an. Wenn die Datei jedoch gespeichert, geschlossen und erneut geöffnet wird, lautet die Codierung UTF8.
quelle