matlab打包成exe时发现中文乱码,查找发现是gbk编码问题,找半天没找到合适的批量转换编码工具,就搞了个简单的shell来实现
windows上有安装git bash命令行的话可以直接跑sh脚本,没有的话下一个很快。linux可以直接运行
#!/bin/sh
#判断是否为某种编码
judge(){local temp=`iconv -f $2 $1 1>/dev/null 2>/dev/null && echo 'true'`;echo $tempif [ "$temp" = 'true' ]; thenreturn 0;fi;return -1;}# 目录,文件名可以指定
# for file in `find "./" -name "*.m"`;for file in `find "${1:-./}" -name "${2:-*}"`;doif $(judge $file gbk); thenecho convering : $fileiconv -f GBK -t utf-8 $file > $file.tempmv $file.temp $filefi;doneecho DONE
将以上代码复制到记事本里
更改代码中目录和文件后缀
保存到待操作目录
后缀命名为.sh
直接双击运行
git 命令行中运行
第一个参数为目录 默认当前目录
第二个参数文件名 默认为全部文件,可指定文件后缀如.php 等
./a.sh ./ '*.m'