项目上用到歌词文件,从
window
上下载文件到本地上传到服务器之后,客户端显示乱码,查看编码格式为GBK-2312
,所以需要将文件进行转码;一开始想着自己写一个java
文件给同事使用,网上很多大神都写过类似的文件转换,代码如下:
String utf8FilePath =
utf8Path + ((File) javaGbkFile)
.getAbsolutePath().substring(dirPath.length());
OutputStream out = null;
try {
out = openOutputStream(file);
IOUtils.write(data, out, "UTF-8");
} finally {
IOUtils.closeQuietly(out);
}
逻辑是拿到输入输出流,然后将文件写到到新的文件;
但是,现在是给别人使用,写一个文件之后,还得写成jar
,运维还需要安装jdk
, 还需要使用命令的方式运行jar
,,, balalalala, 果断放弃。
一段谷歌之后,发现了Mac
和linux
上有自带的命令
Enca
在mac
上输入 enca
命令,发现未发现,使用brew
安装:

使用命令 Enca --help
查看帮助

平时使用的话就是查看文件的格式,然后就是单个文件和批量文件怎么样转换的问题;
使用:
Usage: enca [-L LANGUAGE] [OPTION]... [FILE]...
enconv [-L LANGUAGE] [OPTION]... [FILE]...
设置语言,然后带参数,最后传入文件。
查看文件格式 enca file
:

将文件转换成UTF-8 enca -x UTF-8 file
:

批量将当前文件夹下面的所有文件转换成UTF-8 enca -x UTF-8 *
:

网友评论