您的位置:首页 > 其它

编码问题:svn无法更新

2011-01-26 11:23 246 查看
最近的Ubuntu10.04桌面执行了自动更新之后,终端窗口的编码好像有点问题。



其中一个问题是,我用ssh连接到开发机(Fedora5+GB2312编码),执行svnup出错:

svn: Can't convert string from 'UTF-8' to native encoding:

svn: datacenter/hook/?/229?/143?/130?/232?/128?/131?/232?/181?/132?/230?/150?/153



过去是正常的,不知道为什么出错。

解决办法是:删除源代码,端口窗口的编码选择GBK,然后重新svn co就行了。



如果汉字显示为乱码,可以执行

LANG=en_US

即可显示为英文



但是再次执行svn up又不行了,最终,发现是文件名使用了中文造成,设置了编码后,文件系统中的文件名用的编码可能和环境不同就会造成类似问题。



'参考资料'四个汉字的GBK编码为:

B2 CE BF BC D7 CA C1 CF



UTF-8编码为:

E5 8F 82 E8 80 83 E8 B5 84 E6 96 99



再看svn的错误信息:

svn: datacenter/hook/?/229?/143?/130?/232?/128?/131?/232?/181?/132?/230?/150?/153

翻译成16进制是

E5 8F 82 E8 80 83 E8 B5 84 E6 96 99

说明这个文件夹在提交的时候使用的UTF-8编码,而系统环境设置的是GB2312,因此造成SVN对这个文件夹的处理出错。



因此,如果在Linux服务器上做开发等工作,建议最好还是使用默认的也是被支持最好的UTF-8编码,可以减少很多不必要的麻烦。

如果实在要改成其他编码,也最好规定使用制度,人为保证文件内容编码,中文文件名编码务必统一。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: