Linux下查看文件编码,文件或文件名编码格式转换

Windows中默认的文件格式是GBK(gb2312),而Linux一般都是UTF-8。要想Linux正常显示中文,最后设置linux和windows都的编码方式都为UTF-8。

1. linux命令enca查看文件编码格式
[root@local ~]# enca test.txt
Simplified Chinese National Standard; GB2312
该文件是windows下记事本编辑产生的文件,编码方式是GB2312

2. 设置linux系统支持UTF-8格式的中文显示
[root@local ~]# vim /etc/sysconfig/i18n
LANG="zh_CN.UTF-8"

使i18n生效:
[root@local ~]#source /etc/sysconfig/i18n

生效后的结果:
[root@local ~]#locale
LANG=zh_CN.UTF-8
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL=

3.文件编码转换

[root@local ~]#iconv -f GB2312 -t UTF-8 test.txt -o test2.txt
[root@local ~]#enconv -L GB2312 -x UTF-8 test.txt

然后就可以显示test2.txt的中文内容

4.文件名编码转换
convmv -f 源编码 -t 新编码 [选项] 文件名
常用参数:
-r 递归处理子文件夹
–notest 真正进行操作,请注意在默认情况下是不对文件进行真实操作的,而只是试验。
–list 显示所有支持的编码
–unescap 可以做一下转义,比如把%20变成空格

5.在windows源端使用UTF-8编码格式存储文件
  使用记事本选择文件->另存为,编码方式选择UTF-8。

6.下载
    enca和enconv命令下载地址

你可能感兴趣的:(Linux系统基础学习)