解决Linux系统下文件的乱码 (如何在linux下修改文件字符编码)

将日常操作系统换成Linux Mint之后发现之前在Windows系统上的大多数文件在Linux下都变成了乱码。代码的注释,一些文本文档,以及中文文件名等等。。查了相关的资料后发现原来是Windows系统默认的编码是GBK的,而Linux下是UTF8。对于代码来说当然不会有什么问题,但对于中文的文档,代码的中文注释来说就悲惨了。。。

Google了一堆解决方法,都比较好用,现将解决方法记录一下:

1.修改文件内容的编码 iconv

iconv命令用于转换指定文件的编码,默认输出到标准输出设备,亦可指定输出文件。

命令参数:

  • -f, –from-code=名称 原始文本编码
  • -t, –to-code=名称 输出编码

iconv -f gbk -t utf8 aaa.txt >bbb.txt

这个命令读取aaa.txt文件,从gbk编码转换为utf-8编码,其输出定向到bbb.txt文件

2.文件名编码转换 convmv

把所有.java的文件名编码转为utf8

convmv -f GBK -t UTF-8 –notest -r *.java //-r递归

如果不加–notest只是查看转换前后的变化。就像使用iconv的时候不进行重定向的话只是查看变化对源文件无影响

3.最简易的方法 使用 enca

enca -L zh_CN 文件名 //查看文件的编码方式
enca -L zh_CN -x 目标编码 文件名 //转换

使用示例:

enca -L zh_CN -x utf8 *.java

你可能感兴趣的:(linux)