2012-07-02 100 views
51

我開始下面的錯誤,每當我在我的服務器使用SVN:SVN不能設置LC_CTYPE區域

svn: warning: cannot set LC_CTYPE locale 
svn: warning: environment variable LC_CTYPE is UTF-8 
svn: warning: please check that your locale name is correct 

我的猜測是,有可能是壞了我的svn客戶端(使用版本應用程序)和服務器svn ...

我怎麼能使這個警告消失永遠從服務器,每當我使用這樣的命令?

回答

53

檢查的

locale -a 

如果沒有安裝SVN抱怨的語言環境的輸出,那麼你就可以安裝。

你可能需要做的:

sudo apt-get install language-pack-en-base 

之後的一個(取決於從SVN確切的錯誤,你是第一種情況):

sudo locale-gen UTF-8 
sudo locale-gen en_GB.UTF-8 
sudo locale-gen en_US.UTF-8 

或者爲ANKIT寫道:

export LC_ALL=C 

可能會工作(在您當前的會話或您的.profile中)。

+0

對於那些在Solaris(對不起):您將要配置的區域設置ADM然後添加正確的語言環境(例如,localeadm -l -v; localeadm -a en_US.UTF-8 -d/cdrom/sol_10_811_x86)http://www.netlinxinc.com/index.php?option=com_content&view=article&id = 50:.. –

+2

在debian(也可能是Ubuntu)系統上,locale-gen不帶參數,但會生成在/etc/locale.gen中激活的內容。 此外,在基於Deian的Univention Corporate Server上,此文件由配置註冊表生成,因此所需/必需/缺失語言環境的值必須如下設置: ucr set locale ='de_DE.UTF-8 :UTF-8 en_US.UTF-8:UTF-8' – Henning

+0

對我來說,在/usr/share/applications/jetbrains-idea.desktop中加入「env LC_ALL = C」就可以修復它。 – Smile4ever

20

如果您想解決這個問題,請手動設置「LC_ALL」變量。

要使其永久只需編輯文件「的/ etc /環境」,並添加一行:

LC_ALL=C 

保存文件並退出編輯器。爲了應用它,你必須註銷當前的shell會話。下次登錄時,SVN的問題將消失。

12

LC_ALL和LANG設置對我來說不起作用,但是LC_CTYPE沒有。

LC_CTYPE=en_US.UTF-8 
0

我發現將幾個答案組合起來會聽到正確的行爲。

  1. 我們必須安設了正確的語言環境支持(localadm在SunOS,區域根爲Linux)
  2. 我們必須設置LC_ALL到相應的語言環境

這要看是什麼類型的文件名你在你的源碼樹中。例如,我有英語,希伯來語和阿拉伯語。 en_US.UTF-8對我自己的作品「C」導致我無法更新的文件。

41

儘管將LC_CTYPE設置爲一個空值對我有用,但根本原因是我的Mac上的應用程序終端在啓動時設置了語言環境,即使我將SSH連接到另一個系統。

這可以固定在終端>首選項:

  • 選擇「配置文件」選項卡,並從子標籤
  • 取消選中「設置在啓動時的語言環境變量」
+3

我相信這是解決OS X上的問題的正確方法。 – Pavlo

+0

是的,這使用小牛修復了我的問題 –

+1

有幾個其他的替代方法如何在Mac OSX上解決這個問題:http://www.cyberciti.biz/faq/os-x-terminal-bash-warning-setlocale-lc_ctype-無法更改區域設置/ –

1
選擇「高級」

這是由於沒有在系統上生成正確的語言環境而導致的。

要在文件/etc/locale.gen

支持例如未註釋行:

en_GB.UTF-8 UTF-8 
en_US.UTF-8 UTF-8 
ru_RU.UTF-8 UTF-8 

,然後運行須藤區域根

+0

理想情況下,我想告訴Subversion使用en_AU.UTF-8,但這是次好的事情(IMO)。 –

2

註釋掉在/ etc/ssh/ssh_config中使用SendEnv LANG LC_*行對我有幫助(openSUSE)

+0

也可以在遠程服務器上通過刪除/ etc/ssh/sshd_config中的'AcceptEnv LANG LC_ *'來配置它。我建議做兩個。 我認爲這是一個比改變終端配置或在服務器上安裝不必要的區域設置更好的解決方案。 –

6

Debian的傑西

我跑:

sudo dpkg-reconfigure locales 

添加和安裝缺少的語言環境。 然後它工作。

+0

我不得不先做一個'sudo apt-get install locales'(Debian Jessie/Getchip) –

1

在使用IntelliJ時,我們公司也有這個問題。我的一位同事剛剛修好了它。

對於我們來說,問題是SendEnv LANG LC_*/etc/ssh/ssh_config。當我評論這一行時,一切正常。

0

對於iTerm2:

配置文件→打開文件...→編輯配置文件...→客運站→Unckeck 設置區域自動變量