linux-windows拷贝过来的文件,cat一下出现乱码
前言
在日常办公,很多时候都是在windows下编辑好文件,然后上传到Linux上面去运行,毕竟windows还是流行的(现在很多人也是使用Mac办公)。
在不同的系统编辑的文件,很多时候会因为系统字符集的原因,出现乱码。
总结了处理这些乱码的解决方法。
修改文件编码
首先要看下文件的的字符集是什么,可以使用file命令查看
file -i 1.txt
1.txt: text/plain; charset=gbk
可以看到charset!!!
iconv可以把文件的内容从一种编码转换成另一种编码。
可以使用--help查看一下帮助
iconv --help
用法: iconv [选项...] [文件...]
转换给定文件的编码。
输入/输出格式规范:
-f, --from-code=名称 原始文本编码
-t, --to-code=名称 输出编码
信息:
-l, --list 列举所有已知的字符集
输出控制:
-c 从输出中忽略无效的字符
-o, --output=文件 输出文件
-s, --silent 关闭警告
--verbose 打印进度信息
-?, --help 给出此帮助列表
--usage 给出简要的用法信息
-V, --version 打印程序版本号
执行命令
iconv -f gbk -t utf-8 -o 2.txt 1.txt
指定输出到2.txt。
来查看一下转换结果:
file -i 2.txt
2.txt: text/plain; charset=utf-8
看到charset已经是utf-8
可以直接cat 2.txt查看文件内容了,发现里面的乱码已经可以正常显示了。