Ubuntu Server 16.04 ssh 会话中的 Unicode/UTF-8 问题

Ubuntu Server 16.04 ssh 会话中的 Unicode/UTF-8 问题

我有一个全新安装的 Ubuntu Server 16.04,现在正在测试它如何处理 unicode 字符:

  • 我有一个包含unicode字符的文件名:testā.txt。如果我使用制表符选择它,即$ rm tes[tab],则命令会选择正确的文件名。
  • 如果我这样做$ ls,我会test??.txt在文件列表中看到
  • 如果我使用 将unicode字符添加到文件内容中$ echo āāā > test.txt,然后执行$ cat test.txt,我会得到正确的输出。
  • 但是,如果我在 nano 编辑器中打开该文件,其内容如下所示:^ ^ ^
  • 十六进制转储$ xxd test.txt显示unicode字符正确存储在文件中:c481 c481 c481 0a

我使用的终端程序 (Guake) 从未遇到过 unicode 字符问题。在典型的本地终端会话中,不存在上述任何问题。

呼叫env | sort | grep -E '^(LANG(UAGE)?|LC_\w*)='

LANG=en_US.UTF-8
LANGUAGE=en_US:en
LC_ADDRESS=lv_LV.UTF-8
LC_IDENTIFICATION=lv_LV.UTF-8
LC_MEASUREMENT=lv_LV.UTF-8
LC_MONETARY=lv_LV.UTF-8
LC_NAME=lv_LV.UTF-8
LC_NUMERIC=lv_LV.UTF-8
LC_PAPER=lv_LV.UTF-8
LC_TELEPHONE=lv_LV.UTF-8
LC_TIME=lv_LV.UTF-8

这个问题可以通过服务器区域设置来解决吗?或者在启动 ssh 会话时我应该使用一些参数?

相关内容