我开始收到以下错误每当我在我的服务器使用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 ...
我怎么能做出这样的警告从服务器永远消失,每当我用这样的命令?
检查的输出
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文件)。
虽然LC_CTYPE设置为空值,为我工作,根本原因是在我的Mac应用程序的终端被设置语言环境在启动时,甚至当我通过SSH连接到另一个系统。
这可以固定在终端>首选项:
- 选择“配置文件”选项卡,并从子选项卡中选择“高级”
- 取消选中“设置在启动时的语言环境变量”
如果要解决这个问题,手动设置“LC_ALL”变量。
为了使其永久只需编辑文件“的/ etc /环境”,并添加一行:
LC_ALL=C
保存文件并退出编辑器。 为了使其应用于您必须退出当前shell会话。 您下次登录时,与SVN的问题将不复存在。
LC_ALL和LANG设置并没有为我工作,但没有LC_CTYPE。
LC_CTYPE=en_US.UTF-8
在Debian杰西 :
我跑:
sudo dpkg-reconfigure locales
新增并安装缺少的语言环境。 然后它的工作。
注释掉与线SendEnv LANG LC_*
在/ etc / SSH / ssh_config中帮助我(的openSUSE)
这是由没有您的系统上生成适当的区域设置造成的。
要在文件/etc/locale.gen支持注释的行
例如:
en_GB.UTF-8 UTF-8
en_US.UTF-8 UTF-8
ru_RU.UTF-8 UTF-8
然后运行sudo的区域根
我们使用的是IntelliJ时,已经在我们公司这个问题为好,。 我的一位同事刚刚固定它。
对我们来说,问题是线SendEnv LANG LC_*
中/etc/ssh/ssh_config
。 当我注释掉这一行,一切运行良好。
对于iTerm2:
配置文件→打开文件...→编辑配置文件...→客运站→Unckeck 设置语言环境变量的自动
我发现,结合几个听到的答案产生正确的行为。
- 我们必须安设了正确的语言环境支持(localadm在SunOS,区域根对于Linux)
- 我们必须设置LC_ALL到相应的语言环境
这取决于你在你的源代码树什么样的文件名。 例如,我有英语,希伯来语和阿拉伯语。 是en_US.UTF-8作品在它自己的我“C”导致我无法更新文件。
我的问题,当我连接到远程服务器的SSH(SSH是使用svnserve的 - > SVN更新命令)。
其原因是远程服务器没有可用的语言包这是在$ LANG设置在本地服务器上。
您可以通过“区域设置-a”检查已安装的语言包。 该$ LANG语言必须在远程服务器上进行配置。
如
本地服务器:LANG =的en_US.UTF-8
远程服务器:区域-a - >仅de_DE.UTF-8可
解决方法:只要安装远程服务器上缺少语言包:dpkg的-重新配置的语言环境;
BTW:所选择的默认语言并不重要。