如何在Ubuntu终端上使用屏幕使utf8正常工作?

时间:2014-04-23 16:01:23

标签: macos ubuntu utf-8 gnu-screen

在我的Mac上,我可以在终端(iTerm或Mac终端应用程序,结果相同)中运行以下内容来打印啤酒杯图标:

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

?

当我ssh到我的Ubuntu机器时,我也可以使用相同的命令来显示啤酒杯。

然而当我在Ubuntu机器ssh会话上加载screen并运行相同的命令时,我只得到一个带有问号的钻石: 。即使我使用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"}'

为什么啤酒杯(例如)突然停止在屏幕会话中工作的任何想法?

2 个答案:

答案 0 :(得分:0)

这应该是一个评论,但我没有足够的声誉(如果有人想做一个很棒的评论!)。

如果我有这个权利,&#34;啤酒杯&#34; icon在Unicode BMP之外(它是U + 1F37A)。你对Unicode BMP中的字符有同样的问题(例如echo -e "\xC3\xA9"的重音e)?

答案 1 :(得分:0)

快速回答是抛弃屏幕并改为使用tmux