2011-05-05 44 views
3

这里是我使用: - 的MacOS X 10.6.7
- GNU的bash,版本3.2.48(1)-release下(x86_64-苹果darwin10.0)
- 水银分布式SCM(版本1.7.2 20101201)
- GNU Emacs的24.0.50(从--cocoa标志混帐回购协议)
建设 - AHG v0.99如何修复aHg输出编码?

这里是我的emacs设置:

(set-default-coding-systems 'utf-8) 
(prefer-coding-system 'utf-8) 
(setq locale-coding-system 'utf-8) 
(set-terminal-coding-system 'utf-8) 
(set-keyboard-coding-system 'utf-8) 
(set-selection-coding-system 'utf-8) 
(set-language-environment 'UTF-8) 

在这里,如果什么我得到后C-c h g s

parent: 2512:6252abcd7368 tip 
JavaScript: ???????? ???????????? ????? ? ???????. 
branch: default 
commit: 3 modified, 6 unknown 
update: (current) 

运行M-x termhg log给我一个正确的结果,我可以读(?是俄语字符...)。所以...我怎样才能解决这个问题在Emacs的输出?

回答

0

首先,应该在这里检查 - 当Emacs启动时,哪个LANG被设置)? (执行M-: (getenv "LANG")时会返回什么?我记得,Mac OS X在启动面板启动时将LANG设置为“C”...语言环境的设置不会修改LANG ...

您可以明确设置从Emacs的LANG环境使用(setenv "LANG" "ru_RU.UTF-8")或使用“en_EN.UTF-8”,如果它更可取

PS我只是用不同的LANG设置检查ahg,当我将LANG设置为“C”时看到问号,当我在资源库中运行ahg-log时出现字母

0

可能是因为默认字体在输出时用于输出抄送hg不支持西里尔文字符。通过将点放在其中一个俄文字符上并且没有正确显示,然后按C-u C-x =,可以看到正在使用的字体。为了确保俄文总是在Emacs中正确显示,您可以指定所有俄文字符将以特定字体显示。由于西里尔字符是在Unicode范围由U + 0400 - U + 04FF和Arial字体似乎显示这些字符OK,你可以尝试在您的Emacs初始化文件中的以下内容:

(set-fontset-font "fontset-default" 
        '(#x400 . #x4ff) 
        "Arial") 
+0

通常,如果字体没有按” t支持一些字符,然后绘制空框,而不是问号... – 2011-07-22 19:12:15

+0

是的,但我不清楚这是“实际”输出还是海报只是放“?”需要显示俄文字符的字符。 – zev 2011-07-22 20:24:44

+0

这是实际的输出 - 我只是从终端复制/粘贴它。 – NilColor 2011-07-26 10:47:57