2014-04-23 36 views
0

在我的Mac我可以運行在終端下面(或者的iTerm或Mac的終端應用程序,結果是相同的),以獲得打印的啤酒杯圖標:如何讓utf8在屏幕上的Ubuntu終端中正常工作?

echo -e "\xF0\x9F\x8D\xBA" 

🍺

當我ssh到我的Ubuntu機器,我也可以用同樣的命令獲得啤酒杯的表現。

然而當我在Ubuntu機器的ssh會話負載screen和運行相同的命令,我只是得到一個問號鑽石在它:&#xfffd ;.即使我使用screen -U運行,也會發生這種情況。

在我的環境我有以下設置:

LANG=en_GB.UTF-8 
LC_ALL=en_GB.UTF-8 

在我.screenrc:

defc1 off 
defutf8 on 

奇怪的是,有一些明顯的unicode的東西正常工作,因爲當我運行以下perl命令,我會得到適當的字符打印,無論是否在屏幕會話中:

export PERL_UTF8_LOCALE=1 PERL_UNICODE=AS 
perl -CS -e 'for($i=160;$i<10000;$i++){print chr $i, $i%30?" ":"\n"}' 

任何想法爲什麼啤酒杯(例如)突然停止在屏幕會議內工作?

+0

也在這裏:http://unix.stackexchange.com/questions/81923/gnu-screen-doesnt-echo-unicode-characters-correct – Jonathan

回答

0

這應該是一個評論,但我沒有足夠的聲譽(如果有人誰不希望能讓一個評論,這將是偉大的!)。

如果我有這個權利,在「啤酒杯」圖標是Unicode BMP外(這是U + 1F37A)。你是否有與Unicode BMP中的字符相同的問題(例如echo -e "\xC3\xA9"用於重音e)?

+0

是的,它適用於屏幕和非屏幕會話。 此頁面表明,啤酒是Unicode字符:http://www.fileformat.info/info/unicode/char/1f37a/index.htm – Jonathan

+0

而且看起來它是一個已知的「錯誤」 ...的http:// savannah.gnu.org/bugs/?38944 – Jonathan

0

簡單的回答是溝屏幕,並使用tmux代替。