Linux上的Unicode解释

时间:2018-07-13 09:01:38

标签: linux shell unicode

在一台机器上,我看到了这个(预期):

echo €€€€€€€€€€€ > foo
wc -m foo
12 foo
wc -c foo
34 foo

那是11个欧元标志。

在问题机器上,我们看到以下内容:

echo €€€€€€€€€€€ > foo
wc -m foo
35 foo
wc -c foo
103 foo

两台机器都是Linux(RHEL)

是什么原因造成的?

在两台计算机上,LANG均设置为en_US.UTF-8。

好盒子: 区域设置

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_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=

问题框:

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_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=

0 个答案:

没有答案