Linux中的强制文件编码

Linux中的强制文件编码,linux,Linux,我在文件编码方面遇到了一些问题。我有一个这样的文件: ą ć ę ł ń ó ▒ ▒ (我来自波兰,所以我们需要使用这些字母;)当我在该文件上使用命令cat时,我得到如下结果: ą ć ę ł ń ó ▒ ▒ 等等 在此文件上使用命令文件时,我得到: file letter.txt letter.txt: ISO-8859 text 但是使用file-bi给了我: text/plain; charset=iso-8859-1 如何强制对该文件进行正确编码,以便在写入该文件时显示所有字

我在文件编码方面遇到了一些问题。我有一个这样的文件:

ą
ć
ę
ł
ń
ó
▒
▒
(我来自波兰,所以我们需要使用这些字母;)当我在该文件上使用命令cat时,我得到如下结果:

ą
ć
ę
ł
ń
ó
▒
▒
等等

在此文件上使用命令文件时,我得到:

file letter.txt
letter.txt: ISO-8859 text
但是使用file-bi给了我:

text/plain;
charset=iso-8859-1

如何强制对该文件进行正确编码,以便在写入该文件时显示所有字母?

使用localectl检查终端的编码。 问题是,终端没有使用与文件相同的编码。
但正如另一张海报所说,您需要知道原始文件的编码方式。

很抱歉,没有反馈。我找到了解决问题的办法。我已经纠正了文件传输到系统的方式。现在一切正常。

取决于您使用的编辑器。对于Gedit,您可以在“保存”对话框中选择编码。我没有使用任何编辑器。问题是-这个文件是在系统外创建的,并且正在传输到系统中。所以我得到的只是一个有错误字母的文件。不幸的是,我无法改变它的创建或传输方式。转机后我必须处理一下。你只要知道它的字符集就行了。您可以使用chardet查找它。您如何知道文件中有什么?@n.m.我可以通过winscp访问此文件。