在Windows中编辑好的汉字文档,上传到Linux下打开乱码问题

实验环境:centos7.4 现在系统默认使用的语言是简体中文。

  1. 首先将目录下的“a此文件在windows下打开正常-到linux下vim打开是乱码.txt”上传到Linux服务器上。使用ssh,rz命令,输入rz回车

    txt文本

    上传

  2. 远程链接到Linux上,使用vim打开显示乱码。

    显示乱码

    原因:编码问题

  3. 通过iconv命令转码

    参数:

    -f, –from-code=名称 原始文本编码

    -t, –to-code=输出编码

    -o, –output=FILE 输出文件

    使用iconv命令查看文件,由于我的txt是gb2312,而我的linux系统是utf8,所以要转成utf8编码查看
    
    [root@fxyh60 ~]# iconv -f gb2312 -t utf8 a此文件在windows下打开正常-到linux下vim打开是乱码.txt 
    
    #!/bin/bash
    
    echo "飞雪玉花"
    echo "飞雪玉花"
    echo "飞雪玉花"
    echo "飞雪玉花"
    echo "飞雪玉花"
    使用iconv命令转码文件,保存为aa.txt,并查看
    
    [root@fxyh60 ~]# iconv -f gb2312 -t utf8 a此文件在windows下打开正常-到linux下vim打开是乱码.txt -o aaa.txt
    [root@fxyh60 ~]# cat aaa.txt
    
    #!/bin/bash
    
    echo "飞雪玉花"
    echo "飞雪玉花"
    echo "飞雪玉花"
    echo "飞雪玉花"
    echo "飞雪玉花"

    信息:-l, –list 列出所有已知的字符集

    编码集


由于Windows系统的txt文本默认的编码基本都是gb2312,而linux一般为utf8,所以会出现乱码,所谓的乱码,就是相当于一张表,里面有什么代码对应的什么字符,和java中的Map有点相似,有一个key—>value,对应着一个value,由于不同的编码表,key和value对应的值是不一样的,所以我在gb2312上能看到正常的编码,在utf8下看到就是乱码了。

猜你喜欢

转载自blog.csdn.net/qq_37872792/article/details/81146392