编码问题:svn无法更新

本文介绍了在Ubuntu 10.04系统中通过SSH连接到Fedora 5服务器时遇到的SVN更新错误问题。问题发生在使用包含中文字符的文件名时,由于系统环境设置的编码与文件名编码不一致导致。文章提供了具体的解决方案,包括更改系统编码设置以及建议使用统一的UTF-8编码。
摘要由CSDN通过智能技术生成

 

最近的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编码,可以减少很多不必要的麻烦。

如果实在要改成其他编码,也最好规定使用制度,人为保证文件内容编码,中文文件名编码务必统一。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值