SVN遇到Can't convert string from 'UTF-8' to native encoding


刚配好mysql,svn co代码的时候遇到问题

svn: Can't convert string from 'UTF-8'

这明显是中文的图片,不是我的项目。。

先检查下机器的语言环境

=="en_US"="en_US"="en_US"="en_US"="en_US"="en_US"="en_US"="en_US"="en_US"="en_US"="en_US"="en_US"=

嗯,全是en_US,有中文乱码是肯定的

按照查到的方法,如果直接执行

export LANG="zh_CN.UTF-8"

那么修改的将是本次连接的语言环境,关闭后再连接还是会有语言的报错,那么长久的方式是修改.bashrc文件

修改~/.bashrc,加入

export LC_ALL=en_US.UTF-8=en_US.UTF-8=en_US.UTF-8

然后

source ~/.bashrc

再执行locale,发现配置变化了

LANG=en_US.UTF-8="en_US.UTF-8"="en_US.UTF-8"="en_US.UTF-8"="en_US.UTF-8"="en_US.UTF-8"="en_US.UTF-8"="en_US.UTF-8"="en_US.UTF-8"="en_US.UTF-8"="en_US.UTF-8"="en_US.UTF-8"="en_US.UTF-8"=en_US.UTF-8

然后继续执行刚才的svn co,这次正常check完了。

这时对执行locale后显示的语言环境有些不懂,就查了查,分别代表一下意义

="en_US.UTF-8"                    
LC_NUMERIC="en_US.UTF-8"                  
LC_TIME="en_US.UTF-8"                     
LC_COLLATE="en_US.UTF-8"                  
LC_MONETARY="en_US.UTF-8"                 货币单位
LC_MESSAGES="en_US.UTF-8"                 
LC_PAPER="en_US.UTF-8"                    
LC_NAME="en_US.UTF-8"                     
LC_ADDRESS="en_US.UTF-8"                  
LC_TELEPHONE="en_US.UTF-8"                
LC_MEASUREMENT="en_US.UTF-8"              
LC_IDENTIFICATION="en_US.UTF-8"           

其中两个比较特殊的

LANG                
LC_ALL              

在各个设置之间有一个优先级的关系:LC_ALL > LC_* >LANG,也就是说,LC_ALL的等级最高,而LANG为默认设置,至于LC_*,可以选择自己需要的配置

相关内容