2010-09-17 161 views
0

我最近收购了一台MacBook。我编译了Mercurial 1.6.3,并将其全部设置为NetBeans。Mac OS X和Mercurial

的事情是,每当我尝试提交,因为我正在写修订的消息,我的重音字符的域名(西班牙语),我得到这样的错误:

transaction abort! 
rollback completed 
abort: decoding near 'Naim? Batuta ': 'utf8' codec can't decode byte 0x8e in position 4: unexpected code byte! 

我在控制台上使用的语言环境,我得到这个:

LANG= 
LC_COLLATE="C" 
LC_CTYPE="UTF-8" 
LC_MESSAGES="C" 
LC_MONETARY="C" 
LC_NUMERIC="C" 
LC_TIME="C" 
LC_ALL= 

我尝试设置LC_CTYPE =“C.UTF-8”,现在变成了LC_CTYPE =“C”为好,但水银一直显示我同样的消息。

起初我以为是NetBeans切换字符编码,但后来我尝试了一个简单的hg commit,它返回了同样的错误。

我已经阅读无处不在,尽管这些文章提到了Mercurial,Mac OS X和Python的字符编码,但有些补丁修复它(前一段时间,因此它们应该已经在Mercurial中),但我没有找到了真正的解决方案

它发生在你之前吗?你是如何解决它的?请帮帮我。它在我的桌面(Windows)机器上工作得很好,但有时我需要在我离开时进行修改,这使我发疯。

在此先感谢!

回答

0

不知道究竟发生了什么。我从我的汇编中删除了Mercurial的任何文件,并且只使用了安装包。

是的,它现在可以创造奇迹。谢谢你们!

0

您的西班牙语语言环境应该是es_ES.UTF-8(如果您的终端使用UTF-8)或es_ES(它将使用ISO-8859-1编码)。 “C”语言环境对西班牙语accentend字符一无所知。

无论如何,如果在你的终端正确设置本地化没有帮助,那么你可以尝试在你的.hgrc配置文件设置

[ui] 
fallbackencoding=ISO-8859-1 

+0

我尝试了所有这些建议,但似乎没有任何工作。我不断收到相同的错误,无论是用户名中的重音字符还是提交信息。 :'( – 2010-09-17 17:46:54

1

当我在我的Mac OSX发出locale命令,我得到以下

LANG="en_US.UTF-8" 
LC_COLLATE="en_US.UTF-8" 
LC_CTYPE="en_US.UTF-8" 
LC_MESSAGES="en_US.UTF-8" 
LC_MONETARY="en_US.UTF-8" 
LC_NUMERIC="en_US.UTF-8" 
LC_TIME="en_US.UTF-8" 
LC_ALL="en_US.UTF-8" 

对你来说应该是

LANG=es_ES.UTF-8 
LC_ALL=es_ES.UTF-8 

你出口这些?因为你的语言环境应该在导出后显示不同的值。

export LC_ALL=es_ES.UTF-8 
export LANG=es_ES.UTF-8 
+0

不是,它没有工作,我尝试将locale切换到es_ES.UTF-8,但没有用,我只是不想使用MacPorts端口,只是想自己编译它。喜欢它的工作,直到我不得不把它的工作,你还认为它可能是什么?切换到git?:s谢谢! – 2010-09-17 23:10:03

+0

顺便说一句,我刚刚退出终端,我也应该重新启动吗?不要想,但你永远不会知道。 – 2010-09-17 23:21:44

+0

是的,我会建议在.bash_profile中添加两行,退出终端,然后重新启动并检查locale命令输出 – pyfunc 2010-09-17 23:59:07