剛配好MySQL,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
這明顯是中文的圖片,不是我的項目。。
先檢查下機器的語言環境
$ localeLANG=en_USLC_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,有中文亂碼是肯定的
按照查到的方法,如果直接執行
export LANG="zh_CN.UTF-8"
那么修改的將是本次連接的語言環境,關閉后再連接還是會有語言的報錯,那么長久的方式是修改.bashrc文件
修改~/.bashrc,加入
export LC_ALL=en_US.UTF-8export LANG=en_US.UTF-8export LANGUAGE=en_US.UTF-8
然后
source ~/.bashrc
再執行locale,發現配置變化了
LANG=en_US.UTF-8LC_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_*,可以選擇自己需要的配置
新聞熱點
疑難解答