web-dev-qa-db-fra.com

Erreur gedit: "Erreur inattendue: séquence d'octets non valide dans l'entrée de conversion"

Je fais un projet de recherche en PNL. Pour cela je dois analyser un unicode (Sinhala) fichier texte environ 10mb et il s’ouvre dans Google Docs. Mais quand j'essaie de l'ouvrir à partir de gedit, j'obtiens cette erreur.

Erreur inattendue: séquence d'octets non valide dans l'entrée de conversion

Donc, j'ai suivi ceci question similaire et essayé la deuxième réponse qui suggère d'exécuter cette commande dans le terminal:

gsettings set org.gnome.gedit.preferences.encodings auto-detected "['UTF-8', 'CURRENT', 'ISO-8859-15', 'UTF-16']"

J'ai eu ce résultat dans le terminal:

GLib-GIO-Message: Using the 'memory' GSettings backend.  Your settings will not be saved or shared with other applications.
No such key “auto-detected”

Donc, pas de succès. Lorsque j'essaie d'ouvrir le fichier dans gedit, je reçois la même erreur. Comment puis-je réparer cela? Comment puis-je ouvrir ce fichier dans gedit ?

5
Thidasa Pankaja

Je ne suis pas sûr de la cause du problème, mais j’ai réussi à le reproduire sur mon système.

Expérimentalement, j'ai exécuté dos2unix sur le fichier et la sortie indiquait qu'il s'agissait d'un fichier UTF-16LE. Pour les curieux, LE signifie petit endien . Après que dos2unix eut converti le fichier au format UTF-8, je pus l'ouvrir avec Gedit.

Sudo apt install dos2unix
dos2unix -n oldfile newfile
gedit newfile

J'ai utilisé l'indicateur -n pour éviter d'écraser le fichier d'origine. Remplacez oldfile par le nom de fichier d'origine et newfile par tout ce que vous souhaitez que le nouveau fichier soit appelé. Utilisez la complétion de tabulation (tapez le début du nom de fichier et appuyez sur la touche Tabulation pour que le nom complet apparaisse) ou ' entre guillemets si votre nom de fichier contient des espaces ou d'autres caractères spéciaux.

Sidenote, j'ai pu ouvrir le fichier sans le convertir en utilisant Pluma , un éditeur de texte basé sur Gedit. Je suppose donc que cela pourrait être un bogue dans Gedit. Passer --encoding UTF-16LE ou --encoding UTF-16 à Gedit lors de l'ouverture du fichier n'a pas aidé.

6
Zanna