尝试使用 Gedit 打开在记事本中创建的文本文件时出现无效字符

尝试使用 Gedit 打开在记事本中创建的文本文件时出现无效字符

相关问题 - 除了我从 Windows 转移到 Ubuntu(不需要 Windows 记事本)

我尝试使用 gedit/Ubuntu 16.04 打开一个文本文件,该文件是在 Windows 中使用臭名昭著的记事本创建的。出现无效字符错误消息以及乱码。如何在 Ubuntu 中查看和编辑此文件?

答案1

可能是意外的编码:

>cat ISO-8859-15.txt
d�j� emp�ch�

file命令可以告诉您所使用的编码:

>file ISO-8859-15.txt 
ISO-8859-15.txt: ISO-8859 text

利用这些信息,您可以将其iconv转换为另一种编码(通常是 UTF-8):

iconv -f ISO-8859-15 -t UTF-8 -o UTF-8.txt ISO-8859-15.txt

查看:

>file UTF-8.txt 
UTF-8.txt: UTF-8 Unicode text
>cat UTF-8.txt 
déjà empêché

答案2

这可能与不同的字符编码有关(请参阅https://en.wikipedia.org/wiki/Character_encoding) 在文件创建时被使用,并且 gedit 编辑器无法猜测这一点。

解决这个问题的一种方法是尝试使用其他程序(如 emacs 或 libreoffice)打开该文件——然后您就可以使用 gedit 可以处理的字符编码保存该文件。

您可以尝试file在不同的文本文件上使用该命令来检测每个文件使用的字符编码。例如:

$ echo ABC123 > test1.txt
$ echo ABCÅÄÖ > test2.txt
$ file test1.txt 
test1.txt: ASCII text
$ file test2.txt 
test2.txt: UTF-8 Unicode text

相关内容