我在 CentOS 7 Droplet 上有以下文件夹。它们是通过 FTP 从法国操作系统添加的。
- 事件 1
- 事件 2
- 事件 3
当我这样做时,重音字符(é)将被替换为问号ls
。
我无法cd
进入这些文件夹。
我尝试了网上的几种建议,但没有成功。包括:
cd Evénement\ 1
cd "Evénement 1"
cd "Ev?nement 1" (copying the exact output from ls)
cd Ev\nement\ 1
cd Ev\énement\ 1
cd Ev\351énement\ 1 (because ls -b outputs them like that)
这是 的输出locale
。
LANG=en_CA.UTF-8
LC_CTYPE="en_CA.UTF-8"
LC_NUMERIC="en_CA.UTF-8"
LC_TIME="en_CA.UTF-8"
LC_COLLATE="en_CA.UTF-8"
LC_MONETARY="en_CA.UTF-8"
LC_MESSAGES="en_CA.UTF-8"
LC_PAPER="en_CA.UTF-8"
LC_NAME="en_CA.UTF-8"
LC_ADDRESS="en_CA.UTF-8"
LC_TELEPHONE="en_CA.UTF-8"
LC_MEASUREMENT="en_CA.UTF-8"
LC_IDENTIFICATION="en_CA.UTF-8"
LC_ALL=
在此先感谢您的帮助。
答案1
使用单引号和/或tab
(自动完成),如下所示:
mbp:~ alexus$ mkdir 'Evénement'
mbp:~ alexus$ cd 'Evénement'
mbp:Evénement alexus$ pwd
/Users/alexus/Evénement
mbp:Evénement alexus$ cd ..
mbp:~ alexus$ cd Evénement/
mbp:Evénement alexus$
答案2
尝试cd "Ev*nement 1"
. cd "Ev?nement 1"
(自己输入 ? 而不是从 shell 的输出中复制)也可能有效。我猜输出中的问号ls
不是真正的问号,而是一个特殊字符,表示 shell 无法解码该字符。
您可以发布输出吗locale
?
答案3
我找到了解决这个问题的方法。我将实际终端程序 iTerm2 的字符编码从 Unicode (UTF-8) 更改为 Western (ISO Latin 1)。我通过修改连接到此服务器的配置文件来实现此目的,如下所示:
iTerm2 > 偏好设置 > 配置文件 > 配置文件 > 终端 > 字符编码
现在重音字符显示正确了,我可以轻松地进入它们。
再次感谢那些试图提供帮助的人。