您的位置:首页 > 其它

svn: Can't convert string from 'UTF-8' to native encoding 解决办法

2014-08-06 15:28 609 查看
今天在down代码时遇到了如下问题:

[xxx@xxx ~]$ svn co https://xxxxxxxxxxxxx
svn: Can't convert string from 'UTF-8' to native encoding:

svn: xxxxxxxx/include/xml_inc/XML/?\194?\184?\194?\180?\194?\188?\195?\190 mcXML.h

这个问题主要是代码中包含了中文名字的文件,svn这边的编码不支持造成的。

在网上查了一些资料,基本上都是用下面的方法,但是都不管用(分割线以内的是不好使的方法)

==========================================分割线==========================================

因为SVN客户端需要utf8来支持中文。

解决办法很简单,正确设置当前系统的 locale:

export LC_CTYPE=zh_CN.UTF-8

或者

export LC_CTYPE=en_US.UTF-8 (我设的是en_US.UTF-8)

然后重新 checkout 即可。

如果 export LC_CTYPE=zh_CN.UTF-8 提示

warning:> locale

locale: Cannot set LC_CTYPE to default locale: No such file ordirectory

locale: Cannot set LC_MESSAGES to default locale: No such file ordirectory

locale: Cannot set LC_ALL to default locale: No such file ordirectory 等信息

可以尝试

locale-gen en_US.UTF-8

==========================================分割线==========================================
用了上面的这些方法之后:
[xxx@xxx ~]$ svn update

svn: Error converting entry in directory 'xxxxxxxx/include/xml_inc/XML' to UTF-8

svn: Valid UTF-8 data

(hex:)

followed by invalid UTF-8 sequence

(hex: b8 b4 bc fe)

还是不行

问了一下其他同事的解决办法:

将.bashrc中加上这么一行:

export LANG=zh_CN.GB18030

[xxx@xxx ~]$ locale

LANG=zh_CN.GB18032

LC_CTYPE="en_US.UTF-8"

LC_NUMERIC="en_US.UTF-8"

LC_TIME="en_US.UTF-8"

LC_COLLATE="en_US.UTF-8"

LC_MONETARY="en_US.UTF-8"

LC_MESSAGES="en_US.UTF-8"

LC_PAPER="en_US.UTF-8"

LC_NAME="en_US.UTF-8"

LC_ADDRESS="en_US.UTF-8"

LC_TELEPHONE="en_US.UTF-8"

LC_MEASUREMENT="en_US.UTF-8"

LC_IDENTIFICATION="en_US.UTF-8"

LC_ALL=en_US.UTF-8

这样就好使了,下载途中还有一点小问题,会出现

svn: 方法 REPORT 失败于 “/xxxxxx/!svn/vcc/default”: 200 OK (https://xxxxxxxxxxxxxxx)

我们不管它,直接再执行下面语句即可解决svn的问题

[xxx@xxx ~]$ svn update
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐