在linux中,svn co, svn up或者svnc cleanup时,如果有中文文件名的文件,可能会报下面的错:

1
2
svn: Can't convert string from 'UTF-8' to native encoding:
svn: src/main/webapp/resources/js/My97DatePicker/?\229?\188?\128?\229?\143?\145?\229?\140?\133

第一行的大致意思是:不能将字符串从UTF-8编码转换到本地,主要是因为SVN客户端需要utf8来支持中文。

第二行报销的文件路径,查看其路径下的文件,肯定是有中文命名的文件。因此需要查看下系统编码文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
LANG=en_US.UTF-8
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_PAPER="C"
LC_NAME="C"
LC_ADDRESS="C"
LC_TELEPHONE="C"
LC_MEASUREMENT="C"
LC_IDENTIFICATION="C"
LC_ALL=C

只需要修改bash_profile文件就可以,添加下面几行:

1
2
3
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8

然后source一下:

1
. ~/.bashrc

这时候,再重新进行SVN操作就不会再报svn: Can't convert string from 'UTF-8' to native encoding:的错误了。

本文地址 http://laoono.com/2014-04/linux-environment-svn-can-not-convert-string-from-utf-8-to-native-encoding-reimbursement-solutions.html