剛配好mysql,svn co代碼的時候遇到問題mysql
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
這明顯是中文的圖片,不是個人項目。。sql
先檢查下機器的語言環境bash
$ locale LANG=en_US LC_CTYPE="en_US" LC_NUMERIC="en_US" LC_TIME="en_US" LC_COLLATE="en_US" LC_MONETARY="en_US" LC_MESSAGES="en_US" LC_PAPER="en_US" LC_NAME="en_US" LC_ADDRESS="en_US" LC_TELEPHONE="en_US" LC_MEASUREMENT="en_US" LC_IDENTIFICATION="en_US" LC_ALL=
嗯,全是en_US,有中文亂碼是確定的svn
按照查到的方法,若是直接執行spa
export LANG="zh_CN.UTF-8"
那麼修改的將是本次鏈接的語言環境,關閉後再鏈接仍是會有語言的報錯,那麼長久的方式是修改.bashrc文件code
修改~/.bashrc,加入orm
export LC_ALL=en_US.UTF-8 export LANG=en_US.UTF-8 export LANGUAGE=en_US.UTF-8
而後blog
source ~/.bashrc
再執行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完了。圖片
這時對執行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_*,能夠選擇本身須要的配置