我有一个名为 æøå.js 的文件(仅作为示例),当我ls
在存储它的目录中运行时,我得到了
root@chu:~/projects/someproject/server# ls src a.js b.js ??????.js
因此似乎无法显示此类符号。PuTTY 设置为 UTF-8,我的env
看起来像这样
TERM=xterm 外壳=/bin/bash 用户=root LANG=en_GB.UTF-8 低压侧电压=1 主页=/root 语言=en_US:en LS_OPTIONS=--颜色=自动 PYTHONPATH=:/root/pymodules LOGNAME=root _=/usr/bin/env
(我从输出中删除了一些内容,因为它们无论如何都不可能相关)
但问题是,当我用打开文件vim
时,我可以毫无问题地输入并看到所有这些符号。所以问题显然只是在 shell/bash 中。我可以提供任何设置来允许 bash 显示这些符号吗?有人能解释一下为什么现在使用 UTF-8 不起作用吗?
编辑:这是tree
显示 æøå.js 的方式
|-- 源文件 ||-- a.js ||-- b.js |`--\303\246\303\270\303\245.js
答案1
正如我已经解释过的,两次,在我们的先前的讨论,问题在于您的区域设置配置指向不存在的区域设置。
您的环境(包括 $LANG)是可以的;但是,en_GB.UTF-8
必须生成语言环境。
在大多数发行版(包括 Debian)上:
/etc/locale.gen
在文本编辑器中打开。en_GB.UTF-8
通过删除前导 来取消注释该行#
。- 以 root 身份运行
locale-gen
。
在 Debian 上:
- 以 root 身份运行
dpkg-reconfigure locales
。 - 向下滚动到“
en_GB.UTF-8
”条目,用 标记它Space。 OK
使用Tab,选择Enter。
此外,根据记录,ls
这是一个单独的程序;它是不是bash 的一部分。