Rootop 服务器运维与web架构

利用iconv实现文件编码转换

| 暂无评论

项目有一个编码为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

作者:Venus

服务器运维与性能优化

发表回复