程序中遇到汉字真是麻烦,弄的程序原本是gbk或者是gb2312的。现在服务器上都是utf-8,汉字全是乱码。只好写个shell,来自动转换。
#!/bin/bash for i in $(find $1) do file $i |grep text 1>/dev/null 2>&1 if [ $? -eq 0 ] ;then echo $i basename=$(basename $i) echo basename = $basename path=${i%$basename} echo path=$path iconv -f gb2312 -t utf-8 $i >$path/${basename}.utf cat $path/${basename}.utf>$i fi done
有两个难点,就是在判断是不是文本文件还有原来的编码的问题。先写成这样,以后再改!