Linux使用svn的时候,出现了错误提示,即can t convert string fromUTF-8to native encoding,这主要是编码格式所导致的问题,下面小编就给大家介绍下解决该问题的方法。
在linux中,svn co 、 svn up或者svnc cleanup时,如果有中文文件名的文件报下面的错:
svn: Can t convert string fromUTF-8to native encoding:
svn: src/main/webapp/resources/js/My97DatePicker/?229?188?128?229?143?145?229?140?133
第一行的大致意思是:不能将字符串从UTF-8编码转换到本地,主要是因为SVN客户端需要utf8来支持中文。
第二行报销的文件路径,查看其路径下的文件,肯定是有中文命名的文件。因此需要查看下系统编码文件:
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文件就可以,添加下面几行:
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8
然后source一下:
。 ~/.bashrc
这时候,再重新进行SVN操作就不会再报svn: Can t convert string fromUTF-8to native encoding:的错误了。
另一种解决办法
解决办法很简单,正确设置当前系统的 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
上面就是Linux svn报错can t convert string from的解决方法介绍了,有两种方法可以解决,第二种方法相对简单但不一定能够解决svn报错问题。