2011-05-05 45 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