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

http://www.leakon.com/archives/610 

svn 版本库中有文件是以中文字符命名的,在 Linux 下 checkout 会报错:

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

然后 checkout 程序就退出了!

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

export LC_CTYPE="zh_CN.UTF-8"

然后重新 checkout 即可。

注意,根据你的系统字符集设置变量,如果 zh_CN.UTF-8 不行,有可能要改成 GB2312:

export LC_CTYPE="zh_CN.GB2312"

另外,看别人的帖子,有的变量名不同,用的是:

export LANG="zh_CN.UTF-8"

 

http://www.toplee.com/blog/566.html 

 

http://svnbook.red-bean.com/en/1.2/svn.advanced.l10n.html

 


之前遇到一个问题,svn里面如果提交了中文文件名的文件或者包含其他特殊字符的文件名的文件,会导致linux或者freebsd上svn update/checkout的时候出现错误“svn: Can’t convert string from ‘UTF-8′ to native encoding”

这个问题是由系统字符集设置导致的,可以使用如下方法解决:
在bash的shell下,输入如下命令:

#export LC_CTYPE=en_US.UTF-8

然后运行如下命令确认发生的变化如下:

#locale

将得到如下的结果返回:

LANG=
LC_COLLATE="C"
LC_CTYPE="en_US.UTF-8"
LC_MESSAGES="C"
LC_MONETARY="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_ALL=
可以把以上内容直接加到svn的钩子里面,解决提交时自动输出处理遇到的问题

你可能感兴趣的:(svn: Can't convert string from 'UTF-8' to native encoding 的解决办法)