编辑
问题是 ubuntu 机器无法显示\u03bb
希腊 lambda 符号
ubuntu 是远程的:
[ubuntu@ubuntu:~]$echo -e "\xce\xbb\x0a"
λ
[ubuntu@ubuntu:~]$echo -e "\u03bb"
\u03BB
这是本地的:
matizmabel@Casper ~
$ echo -e "\u03bb"
λ
matizmabel@Casper ~
$ echo -e "\xce\xbb"
λ
matizmabel@Casper ~
$
我使用 cygwin mintty 终端。
我使用Dejavu Sans Mono
这个:
$ locale
LANG=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_ALL=
我通过 ssh 进入 ubuntu headless 服务器,遇到了这个问题。请修复我的 unicode 显示问题。
答案1
看http://www.utf8-chartable.de/unicode-utf8-table.pl
Unicode 代码点 = U+039B
字符 = Λ
UTF-8(十六进制)= ce 9b
$ echo -e "\xCE\x9B"
Λ
如果问题只是远程的,很可能是“echo”不理解“\u039B”转义。请注意,在 echo coreutils 手册中,并没有将“\u”报告为转义序列。在 POSIX 中也没有
http://pubs.opengroup.org/onlinepubs/9699919799/utilities/echo.html
检查一下
$ echo -ne "\xce\xbb" |od -x
0000000 bbce
0000002
$ echo -ne "\u03bb" |od -x
0000000 bbce
0000002