Chinaunix

标题: 如何批量转换编码? [打印本页]

作者: gydoesit    时间: 2005-09-14 13:54
标题: 如何批量转换编码?
php开发环境现在从win转到linux,需要把原来的gb2312的全转为utf-8,不然每次都要要在编辑里设置,麻烦,而且mysql4.1是unicode的。

icon一次只能转一个

哪个大大给个
shell脚本,可以批量处理整个目录 ,如同-R

或者php脚本也凑合。
作者: hightman    时间: 2005-09-14 14:21
标题: 如何批量转换编码?
将以下代码存为 1.sh, 然后 chmod +x 1.sh
运行:  ./1.sh *.php
         ./1.sh */*.php
....

  1. #!/bin/sh
  2. for a in $*
  3. do
  4.   if [ -f $a ]
  5.   then
  6.     iconv -f gb2312 -t utf8 -o tmp.x $a
  7.     mv $a $a.bak
  8.     mv tmp.x $a
  9.   fi
  10. done
复制代码

作者: gydoesit    时间: 2005-09-14 14:50
标题: 如何批量转换编码?
二楼高:)
那有几层就执行
./1.sh */*/*/*.php
这样了哟


不妙,我处理了包括html,
可在使用时发觉 下级目录 中html有的转过来了,有的没转过来,这是怎么回事?????????????????????//

我晕呀晕
作者: hightman    时间: 2005-09-14 17:23
标题: 如何批量转换编码?
可能是 iconv 的问题, 有些字符 iconv 处理不了,报错就退出了
作者: HonestQiao    时间: 2005-09-14 17:29
标题: 如何批量转换编码?
php也可以编写在consol下面运行的程序的
作者: vicacheung    时间: 2008-06-22 15:54
呵呵.我给楼主一个批量更改的小工具

GB2UTF8.rar

21.73 KB, 下载次数: 233


作者: 7717060    时间: 2008-06-22 17:28
原帖由 hightman 于 2005-9-14 14:21 发表
将以下代码存为 1.sh, 然后 chmod +x 1.sh
运行:  ./1.sh *.php
         ./1.sh */*.php
....

#!/bin/sh
for a in $*
do
  if [ -f $a ]
  then
    iconv -f gb2312 -t utf8 -o tmp.x $a
    mv  ...

学习
作者: hiler    时间: 2008-06-22 21:54
php 遍历目录也可以修改的,以前做过一个,页面编码象GB2312-》UTF-8也可以替换




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2