每当我在服务器中使用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可能有问题......
每当我使用这些命令时,如何让这个警告永远从服务器中消失?
答案 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)
我发现结合几个答案可以产生正确的行为。
这取决于源树中的文件名类型。例如,我有英语,希伯来语和阿拉伯语。 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
的输出后,问题已解决。