Linux使用svn的时候,出现了错误提示,即can‘tconvertstringfrom’UTF-8‘tonativeencoding,这主要是编码格式所导致的问题,下面小编就给大家介绍下解决该问题的方法。
在linux中,svnco、svnup或者svnccleanup时,如果有中文文件名的文件报下面的错:
svn:Can’tconvertstringfrom‘UTF-8’tonativeencoding:
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文件就可以,添加下面几行:
exportLC_ALL=en_US.UTF-8
exportLANG=en_US.UTF-8
exportLANGUAGE=en_US.UTF-8
然后source一下:
。~/.bashrc
这时候,再重新进行SVN操作就不会再报svn:Can‘tconvertstringfrom’UTF-8‘tonativeencoding:的错误了。
另一种解决办法
解决办法很简单,正确设置当前系统的locale:
exportLC_CTYPE=zh_CN.UTF-8″
然后重新checkout即可。
注意,根据你的系统字符集设置变量,如果zh_CN.UTF-8不行,有可能要改成GB2312:
exportLC_CTYPE=zh_CN.GB2312″
另外,有的变量名不同,用的是:
exportLANG=zh_CN.UTF-8″
上面就是Linuxsvn报错can‘tconvertstringfrom的解决方法介绍了,有两种方法可以解决,第二种方法相对简单但不一定能够解决svn报错问题。