在svn update 时出现以下错误
svn: Valid UTF-8 data
(hex:)
followed by invalid UTF-8 sequence
(hex: b5 e7 d7 d3)
1.找到服务器上文件所在的目录后,svn update一下就 了(本人亲自解决)
网上找到
================================
这是由于在目录中有中文的文件名,而这个文件名确是用gb2312编码的,只能一个一个目录找,然后删掉它。
这里列出两个方法,一个方法用户找文件,然后直接删掉;另外一个则是找哪个目录下有这个非法文件名
1. 查找中文文件名
find ./ -regexptype "posix-pegrep" -regexp "*/[^a-z0-9]+txt" -exec rm {} \;
这个方法在找到文件后直接删除。如果想看看是哪些文件,则把 -exec rm {} \; 去掉。
2. 查找含有中文的目录
for f in `find . ! -name '.' -type d -prune | egrep -v 'svn'`; do echo $f; svn update $f; done;
这个方法是个偷懒的方法,在更新每个目录前,先 显示是那个目录:-)
svn: Valid UTF-8 data
(hex:)
followed by invalid UTF-8 sequence
(hex: b5 e7 d7 d3)
1.找到服务器上文件所在的目录后,svn update一下就 了(本人亲自解决)
网上找到
================================
这是由于在目录中有中文的文件名,而这个文件名确是用gb2312编码的,只能一个一个目录找,然后删掉它。
这里列出两个方法,一个方法用户找文件,然后直接删掉;另外一个则是找哪个目录下有这个非法文件名
1. 查找中文文件名
find ./ -regexptype "posix-pegrep" -regexp "*/[^a-z0-9]+txt" -exec rm {} \;
这个方法在找到文件后直接删除。如果想看看是哪些文件,则把 -exec rm {} \; 去掉。
2. 查找含有中文的目录
for f in `find . ! -name '.' -type d -prune | egrep -v 'svn'`; do echo $f; svn update $f; done;
这个方法是个偷懒的方法,在更新每个目录前,先 显示是那个目录:-)