该问题本质上是由于Windows默认为zh_CN编码格式,而Linux一般是UTF-8。
查询当前系统所使用的字符集:
echo $LANG
我的电脑输出是en_US.UTF-8
接下来的思路就是要不修改自己电脑的字符集使其支持zh_CN,或者修改文件格式,我倾向于后者。
推荐安装enca,支持自识别文件编码和批处理:
sudo apt install enca
基本使用格式
enca -L 原编码 -x 新编码 文件名/目录名
示例1:检查文件的编码
enca -L zh_CN test.txt
示例2:将test.txt文件编码转换为"UTF-8"编码
enca -L zh_CN -x UTF-8 test.txt
示例3:将test.txt文件编码转换为"UTF-8"编码,并输入test2.txt中(<>不可用缺少)
enca -L zh_CN -x UTF-8 < test.txt > test2.txt