2014-04-28 43 views
-1

我正在嘗試使用名爲bash-git-prompt的腳本來使git存儲庫更易於使用。該腳本的一部分內容是使用UTF-8圖標來顯示工作分支的狀態,但這些圖標沒有顯示出來,而是取而代之的是「 」。在我看來,有一個編碼問題,符號不能被正確解釋。Ubuntu 12.04語言環境編碼設置不被尊重,看到0123很多

我跑locale,意識到事情不妙,因爲LANGLANGUAGE,並且LC_ALL是空白的,和一切有值"POSIX"。我嘗試將這些值設置爲en_US.UTF-8,這表明了它自己的問題。更改/etc/environment/etc/default/locale不起作用,重新啓動後,locale的輸出與以前相同。我結束了這些行添加到我的.bashrc

export LC_ALL=en_US.UTF-8 
export LANG=en_US.UTF-8 

這成功更新了區域設置,但我仍然沒有看到UTF-8字符如我應該。我現在的輸出是locale現在是:

$ locale 
LANG=en_US.UTF-8 
LANGUAGE=en_US.UTF-8 
LC_CTYPE="en_US.UTF-8" 
LC_NUMERIC="en_US.UTF-8" 
LC_TIME="en_US.UTF-8" 
LC_COLLATE="en_US.UTF-8" 
LC_MONETARY="en_US.UTF-8" 
LC_MESSAGES="en_US.UTF-8" 
LC_PAPER="en_US.UTF-8" 
LC_NAME="en_US.UTF-8" 
LC_ADDRESS="en_US.UTF-8" 
LC_TELEPHONE="en_US.UTF-8" 
LC_MEASUREMENT="en_US.UTF-8" 
LC_IDENTIFICATION="en_US.UTF-8" 
LC_ALL=en_US.UTF-8 

但我仍然看到 所有的時間。下面是一個例子測試:

$ echo -e "\xE2\x98\xA0" 
��� 

我希望這個命令給我的骷髏頭標誌☠,給我的區域設置。還有什麼我在這裏失蹤?

+0

可能您的終端不是UTF8兼容的。 – tripleee

+0

我使用Gnome 3.4.1.1,所以它應該是。 – Ben

回答

0

原來我不得不通過去menu -> terminal -> set character encoding來改變我的終端編碼,它有一個UTF-8的選項。所以我想現在我的問題變成了,我怎麼能使這個默認?當我打開一個新的終端時,它默認回到Current Locale,無論出於何種原因,它都不會被識別爲en_US.UTF-8,而是被設置爲ANSIX3.4-1968。我怎樣才能確保UTF-8是默認的?

+0

至於這個問題,進一步的研究導致下面的命令改變默認的編碼: 'gconftool --set --type = string/apps/gnome-terminal/profiles/Default/encoding en_US.UTF-8' – Ben