linux下查看文件编码及修改编码

说实话,过去十年来我在 Linux 中加密文件时遇到了很多障碍。
你提到的所有方法我都试过了,每种方法都有自己的优点。

以 Vim 为例。
使用 setfileencoding 来检查当前文件编码很方便,但前提是您知道它存在。
刚开始使用Vim的时候,遇到乱码的时候我很困惑。
后来我了解到我必须将 setencoding=utf-8 和 fileencodings=ucs-bom,utf-8 ,cp9 3 6 添加到 .vimrc 中。
有趣的是这个设置有效。
Vim 会按顺序尝试这些代码,如果不起作用,最终会回退到 ASCII。
这非常人性化。

但是你提到的enca命令,当时我是在CentOS系统上安装的。
记得安装 sudo yum -y enca。
安装后,可以方便地使用 enca 文件名来测试编码。
但有一个陷阱。
检查 GBK 文件时总是报错。
也许兼容性实际上是平均的。
有朋友告诉我,也可以使用file命令来查看,比如file -i filename。
至少我尝试过这个来识别 GB2 3 1 2 文件并且它有效。

说到转换编码,在Vim中直接改变setfileencoding=utf-8 ,其实可以暂时改变显示编码,但如果真要转换文件,就得借助专门的工具了。
enconv 命令非常好用。
我将 GB2 3 1 2 日志文件转换为 UTF-8 并使用文件名 enconv -Lzh_CN -xUTF-8 来完成它。
但 iconv 更加成熟并且具有更强大的功能。
我记得一个复杂的情况,我必须将UTF-8 文件转换为Windows系统GBK编码,使用inov -f UTF-8 -t GBK input.txt -o out.txt。
这个命令我用过无数次了,非常稳定。

但是请注意,在转换编码时,尤其是带有BOM的文件,有时会出现问题。
我曾经移植过一个Python脚本,忘记添加-c参数来清除BOM。
结果是代码完全损坏并且令人头痛。
所以使用 iconv 时,最好加上 -c 选项。

说实话,这些工具我用起来很舒服,但是当我遇到特别复杂的编码问题时,比如一些过时的EUC代码,我还是得去网上搜索教程。
毕竟编码的细节太多了。
掌握你提到的命令确实会为你省去很多麻烦。

xftp连接远程Linux系统后,出现中文乱码的情况

嘿兄弟,我以前在Xftp中遇到过混合汉字的问题。
当时确实很头疼。
记得2 01 9 年的时候,我用Xftp向公司的Linux服务器传输文件,文件名全部变成了乱码。
看到这种感觉,真是不可思议。

当时我就开始迷茫了。
首先,我在Xftp中查找设置,打开属性设置,然后连接到Linux系统,点击文件→属性。
转到选项卡,找到字符编码部分并选中“使用 UTF-8 编码”选项。
然后保存设置,关闭窗口并刷新远程文件夹。
嘿嘿,这时候中文文件名就正常显示了。

但是,说到UTF-8 编码,这是Linux系统默认的字符集。
它具有良好的兼容性,可以在大多数语言中使用。
我当时的问题就是这样解决的。
不过,如果您仍然认为有问题,可以尝试 GBK 或 GB2 3 1 2 这两种编码在中文Windows环境中相当常见。

此外,如果远程Linux终端或文件系统编码有问题,例如不是UTF-8 ,您可能需要在服务器端修复它。
您可以使用locale命令检查系统编码,例如export LANG=zh_CN.UTF-8 并这样设置。
这样一般就可以解决Xftp中汉字乱码的问题了。

说着说着,我又想起了那些头痛的日子。
希望我的经验可以帮到兄弟!

linux系统下 文件夹和文件的字符集编码方式转换

Linux文件编码转换有两种方法。

我们先来说一下文件夹名称。
使用 convmv 是最可靠的。
要安装这个东西,你需要 wget tar 包并运行 make clean make install 两次。
命令是 ./convmv -f GBK -t UTF-8 -r --notest /path/to/folder。
上周刚给客户做过,GBK转UTF-8 基本没问题。

我们来谈谈文件内容。
只需在 Vim 中设置 fileencoding=utf-8 并保存即可。
简陋。
或者 iconv 命令也可以工作。
iconv -f GBK -t UTF-8 文件 1 > 文件 2 记得加上-o参数,不然代码会乱码。
我在项目中更经常使用 iconv,因为批处理很方便。

小心不要混淆编码。
GBK 转UTF-8 是最常见的。
如果不确定,可以使用file命令检查原始编码。
说实话,编码问题比其他任何事情都更烦人。
你自己看看吧。