linux 看文件编码,linux下文件的编码查看及转变

本文介绍了在Linux环境下如何使用enca和iconv命令来查看和转换文件的编码。通过enca可以检测文件的原始编码,如UTF-8或UCS-4,而iconv用于进行实际的编码转换,例如从UTF-8转为GBK。在处理包含中文字符的文件时,系统默认可能会将编码更改为UTF-8。文章还提到了如何查看所有已知的字符编码集,并展示了使用iconv进行转码的示例。
摘要由CSDN通过智能技术生成

今天线上获取一个日志文件,想看看,结果无论是用more还是vim都是乱码。就顺手查了查linux下如何解决乱码问题

1.通过enca命令来查看文件的编码

sudo aptitude search enca

sudo aptitude install enca

zhaoming@zhaoming:/mnt/share/file$ enca aa

Universal transformation format 8 bits; UTF-8

原来的文件编码

zhaoming@zhaoming:/mnt/share/file$ enca anci.TXT

Universal transformation format 8 bits; UTF-8

CRLF line terminators

修改文件编码

zhaoming@zhaoming:/mnt/share/file$ enconv -x UCS-4 anci.TXT

修改后的文件编码

zhaoming@zhaoming:/mnt/share/file$ enca anci.TXT

Universal character set 4 bytes; UCS-4; ISO-10646

LF line terminators

在测试的过程中,发现若是

zhaoming@zhaoming:/mnt/share/file$ echo $LANG

zh_CN.UTF-8

新建一个文件

zhaoming@zhaoming:/mnt/share/file$ touch 33

zhaoming@zhaoming:/mnt/share/file$ echo “hello world” > 33

zhaoming@zhaoming:/mnt/share/file$ enca 33

7bit ASCII characters

若是只有英文的情况下,采用的是ASCII,那么加上中文

zhaoming@zhaoming:/mnt/share/file$ echo “中国” > 33

zhaoming@zhaoming:/mnt/share/file$ cat 33

中国

zhaoming@zhaoming:/mnt/share/file$ enca 33

Universal transformation format 8 bits; UTF-8

系统默认将编码改成了UTF-8

一直想看都有什么编码,无论是使用 enca -l 还是 enconv -l 都不行,最后通过

iconv -l 才看到了所有的编码

zhaoming@zhaoming:/mnt/share/file$ iconv -l

下面的列表包含所有有已知的字符编码集.这

并不意味着这些名字的所有组合能够被使用在

命令行参数FROM和TO中.一种已编码的字符集能

列出几个不同的名字(别名).

437, 500, 500V1, 850, 851, 852, 855, 856, 857, 860, 861, 862, 863, 864, 865,

866, 866NAV, 869, 874, 904, 1026, 1046, 1047, 8859_1, 8859_2, 8859_3, 8859_4,

8859_5, 8859_6, 8859_7, 8859_8, 8859_9, 10646-1:1993, 10646-1:1993/UCS4,

ANSI_X3.4-1968, ANSI_X3.4-1986, ANSI_X3.4, ANSI_X3.110-1983, ANSI_X3.110,

ARABIC, ARABIC7, ARMSCII-8, ASCII, ASMO-708, ASMO_449, BALTIC, BIG-5,

BIG-FIVE, BIG5-HKSCS, BIG5, BIG5HKSCS, BIGFIVE, BRF, BS_4730, CA, CN-BIG5,

CN-GB, CN, CP-AR, CP-GR, CP-HU, CP037, CP038, CP273, CP274, CP275, CP278,

….

采用iconv来转化编码

zhaoming@zhaoming:/mnt/share/file$ iconv -f UTF-8 -t GBK 33 | tee 44

�й

zhaoming@zhaoming:/mnt/share/file$ cat 44

�й

转化后编码就成了GB2312了。

zhaoming@zhaoming:/mnt/share/file$ enca 44

Simplified Chinese National Standard; GB2312

不知道是不是我用的不对,最后发现还是 iconv来转码比较方便!用enca来查看编码比较容易!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值