首页 > 网站 > 优化推广 > 正文

utf-8+BOM如何删除?

2024-04-26 13:51:31
字体:
来源:转载
供稿:网友

静态页面通过SVN传到服务器上后,有时会出现多余的一段空行。这种现象主要是BOM的问题。但是对BOM的问题如何进行解决呢?关键就是对utf-8+BOM进行删除。上海珍岛SEO培训公司对utf-8+BOM如何删除,进行基本的介绍和分析。

对于我们这个遇到的这个问题,应该说有三个方面需要处理:

1、首先删选出所有的BOM文件

2、去除文件中的BOM

3、SVN能不能进行BOM检测,防止有BOM的文件commit

具体操作步骤:

1、用svn的POST-COMMIT代码,做了程序自动更新至网站发布目录(测试),服务器是linux环境,所以用命令就可以找出所有拥有BOM的文件

查找UTF-8+BOM

shell> grep -r -I -l $'^/xEF/xBB/xBF' 目录

删除BOM

shell> grep -r -I -l $'^/xEF/xBB/xBF' /path | xargs sed -i ‘s/^/xEF/xBB/xBF//;q'

通过查找,你就可以可以找到相应的文件,再进行更改。

2、去除BOM文件,这个比较简单,有很多IDE都能去掉BOM,例如UltraEdit,editplus,vim等等。

3、删除utf-8+BOM以后,还需要进行一些步骤。首先在开发人员SVN上传的时候就提示他,该文件拥有BOM。用过svn的朋友都知道,在版本目录下会有HOOKS目录,里面都是钩子的模板,我们就用pre-commit这个,记得把pre-commit.tmpl改成pre-commit,然后给可执行权限。

#!/bin/sh

REPOS=”$1″

TXN=”$2″

SVNLOOK=/usr/bin/svnlook

FILES=`$SVNLOOK changed -t “$TXN” “$REPOS” | awk ‘/^[UA]/ {print $2}'`

for FILE in $FILES; do

if $SVNLOOK cat -t “$TXN” “$REPOS” “$FILE” | grep -q $'^/xEF/xBB/xBF'; then

echo “Byte Order Mark be found in $FILE” 1>&2

exit 1

fi

done

保存后即可生效,SVNSERVE不需要重启。这样开发人员如果上传BOM文件的时候,就会提示上传失败,需要重新上传。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表