一、 场景:
网站迁移,原网站在windwos系统的网站空间上,现需要迁移到云主机的linux系统中。
众所周知,windwos存储文件的格式(默认是gbk)与linux的存储格式(默认uft8)是不相同的,直接将windwos中的文件直接将windwos中的文件上传到linux中会出现乱码。
二、解决方法步骤:
1.经过确认,网站涉及到中文字符的都为.html文件,使用命令查看网站有多少个.html后缀的文件。
#find . -name "*.html"|wc -l
1475
2.文件的数量有点多,常用修改编码的iconv命令进行批量修改。
iconv命令格式:iconv -f 文件原编码 -t转换后的编码 源文件 输出文件
iconv命令支持的编码:iconv -l
3.编写脚本批量修改
cat name.sh
#!/bin/bash
find . -name "*.html" >file01.txt
while read line
do
iconv -f gbk -t UTF-8 $line -o a.html
if [ $? -eq 0 ];then
mv a.html $line
else
echo "$line"
fi
done < file01.txt