时间:2009-7-8|作者: sunliguo|评论:No Responses|点击:|
程序中遇到汉字真是麻烦,弄的程序原本是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 |
#!/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
有两个难点,就是在判断是不是文本文件还有原来的编码的问题。先写成这样,以后再改!
This entry was posted
on Wednesday, July 8th, 2009 at 00:07 and is filed under Shell编程.
You can follow any responses to this entry through the RSS 2.0 feed.
You can leave a response, or trackback from your own site.