项目有一个编码为GBK的源码,放到linux下,编辑配置文件中文乱码。利用iconv实现编码转换。
root@mail core]# iconv -f GBK -t UTF-8 safe.inc.php -o safe2.inc.php
实现了单文件从GBK转换为utf-8 编码的转换
如果文件众多,比如将所有源码进行转换,从网上找了个shell解决:
#!/bin/bash
exts=( php tpl )
for ext in ${exts[*]}
do
for i in `find /tmp/website -name *.$ext`
do
echo -e “$i-$ext”
iconv -c -f GBK -t UTF-8 $i -o /tmp/iconv.tmp
mv /tmp/iconv.tmp $i
done
done
将拓展名为php和tpl的文件实现了批量转换。 /tmp/website为源码文件夹的路径。
文件转换好了,其中还有些文件名称为乱码。
[root@mail xxx]# convmv -f GBK -t UTF-8 --notest *.rar //使用通配符解决不同文件名
这样实现了文件名的转换。
-r 递归处理子文件夹 –notest 真正进行操作,请注意在默认情况下是不对文件进行真实操作的,而只是试验。 –list 显示所有支持的编码 –unescap 可以做一下转义,比如把%20变成空格
原创文章,转载请注明。本文链接地址: https://www.rootop.org/pages/1833.html