您尚未登录。

#1 2016-08-04 20:27:22

神楽坂桐枝
巫女
所在地: 无垢花园
注册时间: 2016-07-23
帖子: 9
个人网站

关于ls命令中文文件名的输出为转义字符的问题

$ ls
''$'\347\240\224\347\251\266\347\224\237\350\213\261\350\257\255\345\205\245\345\255\246\350\200\203\350\257\225'

如上面给出的所示,这个是一个文件夹的名字,全部为汉字,,,但是输出并不是汉字。。。喵~
ls的配置参数里面只有 --color=tty。。。所以并不是 -b或者 --escape参数的问题
而且,加上-b或--escape参数之后的输出并不一样,没有前面的$

$ ls -b
\347\240\224\347\251\266\347\224\237\350\213\261\350\257\255\345\205\245\345\255\246\350\200\203\350\257\225

但是,,,进入这个文件夹之后在提示符上面显示的内容是正确的汉字内容。。。T_T
于是就不知道是怎么一回事了,,,而且最主要的,,,并不知道该怎么去查。。。>_<
如何才能让ls的输出为汉字喵?

环境如下:
KDE Plasma 5.7.3
konsole 16.04.3
zsh 5.2
bash 4.3.46

另外,,,在tty下,中文文件名可以正常输出为方块乱码,而不是转义字符。。。喵~

离线

#2 2016-08-04 21:03:04

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,480
个人网站

Re: 关于ls命令中文文件名的输出为转义字符的问题

看看 locale 的输出

离线

#3 2016-08-05 19:42:19

神楽坂桐枝
巫女
所在地: 无垢花园
注册时间: 2016-07-23
帖子: 9
个人网站

Re: 关于ls命令中文文件名的输出为转义字符的问题

依云 说:

看看 locale 的输出

除了LC_ALL没设置以外,,,其他都是en_US.UTF-8

现在加上了,,,已经好了。。。

谢谢喵~

离线

页脚