使用enconv命名在linux下批量修改文件的编码

最近有个网站需要更换服务器,PHP程序从windows上更换到linux上,上传后,发现全是乱码。还好在linux修改文件的编码非常方便,使用一条命令就可以搞定。

使用下面的命令就可以修改文件的编码

find . -name "*.html" -exec enconv -L zh_CN -x UTF-8 "{}" \;

centos 的命令安装

yum install enca -y
yum install enca-devel -y

命令的意思

find的作用是文件查找, -name “.html” 表示查找所有扩展名是 .html的文件, 然后通过 -exec 对查找到文件执行命令 enconv ,这个命令是字符编码转换的命令,-L zh_CN -x UTF-8 意思是把字符转换成中文简体的utf8格式的编码 , 最后的 “{} \;” 就是查找到文件名。注意字符 "}" 后一个空格。

html中的文本替换

find . -name "*.html" -exec sed -i 's/charset=gb2312/charset=utf8/g'  "{}" \;

把html文档中的 charset=gb2312 修改成 charset=utf8

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注