• home > OS > Windows > Tips >

    windows压缩文件到linux解压中文文件名乱码_win10 beta uft-8支持

    Author:zhoulujun Date:

    windows上文件名与linux mac unix编码不同,windows上读取文件名是读取gbk编码,造成在其他平台解压乱码。解决中文文件名乱码有三种办法:设置linux为gbk编码 解压指定文件名编码格式转码 convmv转换文件名编码 windows中文设置为utf-8

    windows文件名压缩到mac或者linux文件上解压,中文文件名乱码。无法打开。同样mac上的中文文件名通过压缩后到windows中文名系统上,解压还是乱码。现在win10中文终于支持unicode utf-8编码,妈妈再也不用担心windows上与mac linux 文件互相解压与压缩造成中文文件名乱码

    设置问win10为utf-8编码

    原因是unix使用的Unicode编码,linux、mac系统是Unix系统的继承者。而windows起源于Dos系统,自成一家,一家独大。windows中文系统编码是GBK,所谓的语言扩展包,唐俊的自传里面,把这个功能吹上天。

    微信截图_20191121175523.png

    现在win10也支持,区域语言设置中文的时候,勾选上utf-8功能

    解压时候转码文件名

    第二是在linux 或者mac上,解压时候,转码

    $ su -c 'yum install 7zip convmv'
    # ubuntu
    $ sudo apt-get install 7zip convmv
    # 使用7z解压缩 
    $ 7za x your-zip-file.zip 
    # 递归转码,从GBK转为UTF-8 
    $ convmv -f GBK -t utf8 --notest -r .

    mac上面有相关的转码解压工具。

    设置linux为gbk编码

    修改服务器端语言环境,将i18n里的信息修改成以下代码

     /etc/sysconfig/i18n

        LANG="zh_CN.GB18030" 

        LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN" 

        SUPPORTED="zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en" 

        SYSFONT="lat0-sun16"

    convmv转换文件名编码

    检查是否安装convmv

    rpm -qa |grep convmv

    转换文件名编码

    convmv的使用方法:

    convmv -f 源编码 -t 新编码 [选项] 文件名

    convmv -f gbk -t utf8 -r --notest ./test

    转换以后“GBK编码的文件名”会被转换成UTF-8编码(只是文件名编码的转换,文件内容不会发生变化)。

    convmv主要选项:

    1. -f ENCODING

      指定目前文件名的编码,如-f gbk

    2. -t ENCODING

      指定将要转换成的编码,如-f utf-8

    3. -r

      递归转换目录下所有文件名

    4. -list

      列出所有支持的编码

    5. --notest

      默认是只打印转换后的效果,加这个选项才真正执行转换操作。

    convmv常用参数:

    • -r 递归处理子文件夹

    • –notest 真正进行操作,默认情况下是不对文件进行真实操作

    • –list 显示所有支持的编码

    • –unescap 可以做一下转义,比如把%20变成空格

    • -i 交互模式(询问每一个转换,防止误操作)

    • --nosmart 如果已经是utf-8 忽略

    转换文件编码

    文件内容乱码,转换gbk为utf-8

    iconv -f gbk -t utf8

    win10出来也好几年了,该用win10了,显示中文,设置win10位utf-8编码模式


    转载本站文章《windows压缩文件到linux解压中文文件名乱码_win10 beta uft-8支持》,
    请注明出处:https://www.zhoulujun.cn/html/OS/Windows/WindowsTips/2013_0221_8223.html