linux下去除不可见字符“&;#65279”

今天才发现网站底部出现了一个小白条,f12一看html最后多了一行“&;#65279”,搜索之后发现这是php文件的bom头引起的,极可能是在Windows下编辑模板文件造成的,于是把所有文件都检查、转换了一遍,发现问题还在,那就应该是其他文件了,但那么多文件一个一个检查太麻烦了(wp文件那么多简直是不可完成的,我改过很多地方的程序文件,所以可能出问题的文件范围很广范)。

解决办法

utf8的BOM头是EF BB BF,所以可以在目录下搜索并删除它就好了:

grep -r -i -l $'^\xEF\xBB\xBF' . | xargs sed -i 's/^\xEF\xBB\xBF//g'

一行命令,小白条就消失了,如果文件不是utf8,可以自行搜索其他编码的bom,把上述命令中\xEF\xBB\xBF的替换成相应的字符即可。

点赞

发表评论

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