日文解压乱码修复

解压缩导致的文件名乱码,根本原因是不同语言系统用的编码不同,以及zip压缩不保存编码导致,zip默认用系统编码压缩。所以当在A系统系统以X编码压缩的文件,到B系统以Y编码解压后就会乱码。

比如日文系统:932 日文(Shift-JIS)

中文系统:936 中国 - 简体中文(GB2312)

查询编码在windows cmd 模式下,输入命令 : chcp

C:\Users\xxxxx>chcp
活动代码页: 936

解决方法1:解压的时候追加编码参数        -mcp=932

D:\picture>"C:\Program Files\7-Zip\7z.exe"  x  "日文.zip" -mcp=932

解决方法2:如果已经解压完了,直接用下面脚本修改文件名

PowerShell脚本

为了防止重复执行导致的再次乱码,追加防止重复操作:

Function Func-Rename($a,$b){
    $TRUE_FALSE=(Test-Path tmprename.txt)
    if($TRUE_FALSE -eq "True")
    {
        throw "do not repeat"
    }
    else
    {
        New-Item tmprename.txt -type file
    }
    
    $gbk = [Text.Encoding]::GetEncoding(936);
    $jis = [Text.Encoding]::GetEncoding(932);

    dir -r | % {
        $newname = $jis.GetString($gbk.GetBytes($_.name));
        $fullpath = Split-Path -parent $_.fullname
        $newnamepath = Join-Path $fullpath $newname
        if ($_.name -ne $newname) {
            echo $_.fullname
            echo $newnamepath
            ren $_.fullname $newnamepath;
        }
    }
}

Func-Rename

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值