程序中遇到汉字真是麻烦,弄的程序原本是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
有两个难点,就是在判断是不是文本文件还有原来的编码的问题。先写成这样,以后再改!