WSL安装后CMD里用ls命令看到的中文有些方框和\212这种格式

image
如题

安装了WSL后,发现仅cmd使用ls命令出现如图所示(powershell没问题),看着也不像乱码,而且微信lnk可以正常显示。
使用dir命令没问题能正确显示中文。

在重装系统前也开启了WSL,没这个问题。有遇到过的吗,如何解决呢。

4 Likes

这种一般是字体问题

字体问题,你把windows的字体文件全部导入到wsl的字体文件路径加载一下就好了,能解决大部分中文字体问题

cmd默认是新宋体,替换成consola字体也不行。

如何操作呢,只是cmd命令啊,不是进wsl后执行的命令。

cmd命令的话,好像有设置字符的,你把它设成gbk不要用utf-8

cmd为什么有ls命令,即便是安装wsl,应该也不会改变cmd的环境吧?

不懂的话,建议就直接gpt,想要可视化操作,也可以使用vscode,直接复制粘贴,或者直接在文件管理器里面找到linux文件,直接把文件复制到对应的目录下面

设置过chcp那个编码,没有效果

不确定是安装git还是wsl后有的,反正目前cmd里确实有这个命令

GPT给出的办法试过都没用

我给你一个建议是更换一个 cmd 软件,目前我是用的tabby,什么都可以显示。原生的功能稍弱一些。 另外听说过 cmder 嘛,可以直接替代使用(主要功能有:GIT集成,命令行自动完成,颜色条码,状态信息,win下使用linux部分命令)。

你推荐的两个都不错,下来试试。

目前主要就是想知道这个问题的原因。便于后续排查问题

尝试调整LC_ALL等环境变量

1 Like

window下有LC变量?

啊?cmd 下也没有 ls 啊?which ls 看一眼?

cmd确实没有ls,运行C:\Windows\System32\where.exe ls看看是哪个命令
我猜是git/msys/mingw里的

你都用WSL了,建议使用更合适的访问工具,例如Windows Terminal这种专门优化过的,或者干脆用git bash,改下配色主题字体编码什么的,比cmd香多了

Windows Terminal也用了,使用cmd内核ls还是这个问题,其他的都好好的。

where ls
C:\Program Files\Git\usr\bin\ls.exe

是git带的,但是以前也有安装git,没这个问题。谢谢你,终于找到修改哪了