Ich habe eine Textdatei. Ich habe den Inhalt der Textdatei erstellt, indem ich sie von einer Webseite in sie kopiert habe. Während der Erstellung war ich völlig unter Gedit. Ich habe dann die Datei gespeichert und gedit beendet. Aber seitdem konnte ich die Datei nicht mehr in gedit öffnen (obwohl ich sie in Emacs öffnen konnte). Ich habe versucht, es in gedit zu öffnen, aber es schlägt fehl, weil "Unerwarteter Fehler: Ungültige Bytesequenz in Konvertierungseingabe".
- Wie soll ich eine solche Datei erfolgreich öffnen, ohne den Inhalt der Datei zu ändern?
- Ich denke, es gibt einige "schlechte" Charaktere darin und ich möchte sehen, was sie sind und sie entfernen, wenn sie nicht wichtig sind. Wie soll ich diese Täter identifizieren?
Vielen Dank!
:help tutorial
XMODIFIERS="@im=none"
. Es sollte sein,XMODIFIERS="@im=xim"
wenn Sie die Eingabemethode xim verwenden. Ersetzen Sie es durch ibus oder eine andere IM, die Sie verwenden.Antworten:
Ich habe das gleiche Problem konfrontiert. Für mich war das Problem, dass sich die Codierung der Datei seit dem letzten Öffnen mit Gedit (von
WINDOWS-1252
bisUTF-8
) geändert hatte . Da ich die Codierung beim ersten Öffnen der Datei manuell festgelegt hatte, hatte Gedit diese Informationen gespeichert und versucht, sie beim nächsten Öffnen der Datei nach der Codierungsänderung wiederzuverwenden. Dies führte zu dieser Fehlermeldung.Um das Problem zu beheben, musste ich die gespeicherten Codierungsinformationen wie folgt aus den gvfs-Metadaten entfernen:
Sie können immer herausfinden, was Gedit über eine bestimmte Datei gespeichert hat:
Vor dem Ausgeben des obigen Befehls lautete die Ausgabe für meine Datei beispielsweise wie folgt:
Nachdem ich das Codierungsattribut entfernt hatte, war die Ausgabe genau dies:
quelle
gvfs-info MY_FILE.txt | grep 'metadata::gedit'
meine Nur-Text-Datei gibtmetadata::gedit-position: 8189
nichts über die Gedit-Codierung zurück. Ändertgvfs-set-attribute --type unset MY_FILE.txt 'metadata::gedit-encoding'
also kein Attribut. Ich habe immer noch den gleichen Fehler wie zuvor festgestellt.cat MY_FILE.txt > MY_NEW_FILE.txt
. Versuchen Sie dann,MY_NEW_FILE.txt
in Gedit zu öffnen . Wenn der Fehler weiterhin besteht, handelt es sich wahrscheinlich wirklich um ein Inhaltsproblem. Andernfalls liegt ein (anderes) Metadatenproblem vor.cat MY_FILE.txt > MY_NEW_FILE.txt
. Es könnte also an einigen seltsamen Zeichen in der Textdatei liegen. Ich habe den Inhalt der Textdatei erstellt, indem ich sie von einer Webseite in sie kopiert habe. Während der Erstellung war ich völlig unter Gedit. Ich habe dann die Datei gespeichert und gedit beendet. Aber seitdem konnte ich die Datei nicht mehr in gedit öffnen (obwohl ich sie in Emacs öffnen konnte). Wissen Sie zufällig, welche anderen Lösungen ich ausprobieren kann und / oder wie Sie diese Charaktere herausfinden können?chardet MY_FILE.txt
(chardet
ist im Paket enthaltenpython-chardet
). Dann könnten Sie die Datei in UTF-8 konvertieren, ziconv -f MY_FILE_ENCODING -t utf-8 MY_FILE.txt > MY_NEW_FILE.txt
. B. über . HoffentlichMY_NEW_FILE.txt
kann dann von Gedit geöffnet werden. Eine Alternative zum Konvertieren der Codierung besteht darin, zum Dialogfeld "Öffnen" von Gedit zu wechseln und die Codierung am unteren Rand des Dialogfelds manuell auszuwählen, bevor die Datei tatsächlich geöffnet wird.Geben Sie dies in Terminal ein
quelle