私はNLPで研究プロジェクトを行っています。そのためには、ユニコード(シンハラ語)を分析する必要があります テキストファイル 約10 MBで、Googleドキュメントで開きます。しかし、geditから開こうとすると、このエラーが発生します。
予期しないエラー:変換入力の無効なバイトシーケンス
それで、私はこれに沿って 類似した質問 を実行し、ターミナルでこのコマンドを実行することを提案する2番目の答えを試しました。
gsettings set org.gnome.gedit.preferences.encodings auto-detected "['UTF-8', 'CURRENT', 'ISO-8859-15', 'UTF-16']"
私はターミナルでこの結果を得ました:
GLib-GIO-Message: Using the 'memory' GSettings backend. Your settings will not be saved or shared with other applications.
No such key “auto-detected”
したがって、成功しません。 geditでファイルを開こうとすると、同じエラーが発生します。どうすれば修正できますか?このファイルをgeditで開くにはどうすればよいですか?
問題の原因がわからないが、システム上で再現できた。
実験的に、ファイルに対してdos2unix
を実行しましたが、出力ではUTF-16LEファイルであることが示されました。好奇心が強い人にとって、LEは リトルエンディアン を意味します。 dos2unix
がファイルをUTF-8形式に変換した後、Geditで開くことができました。
Sudo apt install dos2unix
dos2unix -n oldfile newfile
gedit newfile
元のファイルの上書きを避けるために、-n
フラグを使用しました。 oldfile
を元のファイル名に、newfile
を新しいファイルを呼び出す名前に置き換えます。タブ補完(ファイル名の先頭を入力してTabキーを押すと、フルネームが表示されます)またはファイル名にスペースまたはその他の特殊文字が含まれる場合は'
引用符を使用します。
補足として、Geditに基づくテキストエディター Pluma を使用して変換せずにファイルを開くことができたので、これはGeditのバグであると思われます。ファイルを開くときに--encoding UTF-16LE
または--encoding UTF-16
をGeditに渡すことは役に立ちませんでした。