SVN无法设置LC_CTYPE语言环境

时间:2012-07-02 20:22:46

标签: svn locale

每当我在服务器中使用SVN时,我就开始收到以下错误:

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可能有问题......

每当我使用这些命令时,如何让这个警告永远从服务器中消失?

12 个答案:

答案 0 :(得分:57)

检查

的输出
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在他的answer中写道:

export LC_ALL=C

可能有效(在您当前的会话中,或在.profile中)。

答案 1 :(得分:45)

虽然将LC_CTYPE设置为空值对我来说很有用,但根本原因是我的Mac上的应用程序终端在启动时设置了语言环境,即使我通过SSH连接到另一个系统。

这可以在终端>中修复。首选项:

  • 选择"个人资料"选项卡,然后从子选项卡中选择“高级”
  • 取消选中"在启动时设置区域设置环境变量"

答案 2 :(得分:22)

如果要解决此问题,请手动设置“LC_ALL”变量。

要使其永久化,只需编辑文件“/ etc / environment”并添加以下行:

LC_ALL=C

保存文件并退出编辑器。为了应用它,您必须注销当前的shell会话。下次登录时,SVN的问题就会消失。

答案 3 :(得分:13)

LC_ALL和LANG设置对我不起作用,但LC_CTYPE没有。

LC_CTYPE=en_US.UTF-8

答案 4 :(得分:8)

Debian Jessie

我跑了:

sudo dpkg-reconfigure locales

添加并安装了缺少的区域设置。 然后它奏效了。

答案 5 :(得分:3)

在/ etc / ssh / ssh_config中使用SendEnv LANG LC_*注释掉行有助于我(openSUSE)

答案 6 :(得分:2)

这是因为没有在您的系统上生成正确的语言环境。

您希望在 /etc/locale.gen

中支持的未注释行

例如:

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

然后运行 sudo locale-gen

答案 7 :(得分:1)

使用IntelliJ时,我们公司也遇到了这个问题。我的一位同事刚修好了。

对我们来说,问题是documents中的行user.documents.all()。当我评论出那条线时,一切都运转良好。

答案 8 :(得分:1)

对于iTerm2:

配置文件→打开配置文件...→编辑配置文件...→终端→Unckeck 自动设置区域设置变量

答案 9 :(得分:0)

我发现结合几个答案可以产生正确的行为。

  1. 我们必须安装对正确语言环境的支持(localadm for sunos,locale-gen for linux)
  2. 我们必须将LC_ALL设置为适当的区域设置
  3. 这取决于源树中的文件名类型。例如,我有英语,希伯来语和阿拉伯语。 en_US.UTF-8对我有用“C”就自己导致我无法更新的文件。

答案 10 :(得分:0)

当我连接到远程ssh服务器时(sv由svnserve-> svn update命令使用ssh)时出现问题。

原因是远程服务器没有可用的语言包,该语言包是在本地服务器上的$ LANG中设置的。

您可以通过'locale -a'检查安装的语言包。必须在远程服务器上配置$ LANG语言。

例如

本地服务器:LANG = en_US.UTF-8

远程服务器:语言环境-a->仅de_DE.UTF-8可用

解决方案:只需在远程服务器上安装缺少的语言包:dpkg-reconfigure语言环境;

顺便说一句:所选的默认语言无关紧要。

答案 11 :(得分:0)

仅添加了一个在RHEL6系统上对我有用的选项。

/etc/sysconfig/i18n包含LANG="en_US.UTF-8",但locale -a | grep -i en_us显示en_US.utf8

更新/etc/sysconfig/i18n以匹配locale -a的输出后,问题已解决。