欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2024-03-24 21:26:04
...

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

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

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

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

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

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

    原因:编码问题

  3. 通过iconv命令转码

    参数:

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

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

    -o, –output=FILE 输出文件

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

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

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


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