需要把svn代码拉倒本地,使用svn export,用户密码什么的认证后,就会出现下载的文件列表,最后会以题目这句结尾。
1 |
svn error:“svn: Can’t convert string from ‘UTF-8′ to native encoding” |
我一直以为这只是提醒编码有问题,并未在意,但是看下拉下来的目录发现很多文件没拉下来。换了svn checkout什么的都不行。
最后才知道,尼玛,这个错误直接就会让下载停止。
其实但看错误基本能知道是编码的问题,查了一下,果然,就是因为svn库中包含中文文件名,本地不支持中文。
在linux上Locales用来定义用户所使用的语言,用户使用的字符集。
01 |
$locale |
02 |
LANG=en_US |
03 |
LC_CTYPE= "en_US" |
04 |
LC_NUMERIC= "en_US" |
05 |
LC_TIME= "en_US" |
06 |
LC_COLLATE= "en_US" |
07 |
LC_MONETARY= "en_US" |
08 |
LC_MESSAGES= "en_US" |
09 |
LC_PAPER= "en_US" |
10 |
LC_NAME= "en_US" |
11 |
LC_ADDRESS= "en_US" |
12 |
LC_TELEPHONE= "en_US" |
13 |
LC_MEASUREMENT= "en_US" |
14 |
LC_IDENTIFICATION= "en_US" |
15 |
LC_ALL= |
因为字符集设置UTF-8的字符编码。
解决方案就是开启UTF-8字符集。
1 |
export LANG= "zh_CN.UTF-8" |
执行后我们就能看到:
01 |
$ locale |
02 |
LANG=en_US |
03 |
LC_CTYPE= "zh_CN.UTF-8" |
04 |
LC_NUMERIC= "zh_CN.UTF-8" |
05 |
LC_TIME= "zh_CN.UTF-8" |
06 |
LC_COLLATE= "zh_CN.UTF-8" |
07 |
LC_MONETARY= "zh_CN.UTF-8" |
08 |
LC_MESSAGES= "zh_CN.UTF-8" |
09 |
LC_PAPER= "zh_CN.UTF-8" |
10 |
LC_NAME= "zh_CN.UTF-8" |
11 |
LC_ADDRESS= "zh_CN.UTF-8" |
12 |
LC_TELEPHONE= "zh_CN.UTF-8" |
13 |
LC_MEASUREMENT= "zh_CN.UTF-8" |
14 |
LC_IDENTIFICATION= "zh_CN.UTF-8" |
15 |
LC_ALL=zh_CN.UTF-8 |
转载请注明:旅途@KryptosX » svn error:“svn: Can’t convert string from ‘UTF-8′ to native encoding”错误记录