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

svn co代码的时候遇到问题

svn: Can't convert string from 'UTF-8' to native encoding:
svn: platform/console-framework/portal/img/zhanzhang_logo - ?\226?\148?\130?\206?\149.png

用  locale 命令检查下机器的语言环境 

如果直接执行

export LANG="zh_CN.UTF-8"

那么修改的将是当前终端的语言环境,关闭后再连接还是原来的语言的报错,那么长久的方式是修改系统文件

修改~/.bashrc,或者 /etc/profile 或者 /etc/bashrc 或者 ~/.bash_profile  

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

然后

source 或者 .  file(系统文件)

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

复制代码
LANG=en_US.UTF-8
LC_CTYPE="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"
LC_ALL=en_US.UTF-8
复制代码

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

加载配置文件的顺序

全局环境变量配置文件  /etc/profile  /etc/bashrc   /etc/profile.d/ 这个是目录

用户环境变量配置文件  ~/.bash_profile   ~/.bashrc

登录式shell加载配置文件顺序

非登录式shell加载配置文件顺序

 加载过程顺序

 

执行locale后显示的语言环境分别代表意义

复制代码
LC_CTYPE="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              #如果设置,值将覆盖所有其他的locale设定

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

posted @ 2018-12-05 14:30  mingetty  阅读(150)  评论(0编辑  收藏  举报