cmder虽然Windows命令行的进阶版,虽然好看易用,但其中文编码一直是个问题。网上有不少博客给出解决方案,大部分都已因为版本更新失效。
本文解决方案针对1.3以上版本的cmder用户
中文字体重叠问题
错误方案:
需要取消勾选设置中的
Monospace
选项
正确方案:
这个问题在cmder v1.3.0
以上版本中已经修复,不需要进行任何操作
ls
命令中文路径/文件名乱码
错误方案:
添加4行命令到cmder/config/aliases文件末尾…
在cmder v1.3.0
以上版本初始创建的cmder/config/user-aliases.cmd
文件中已经包含:
1 | ls=ls --show-control-chars -F --color $* |
不需要添加其它命令(实际上添加了也没有效果)
正确方案:
-
win+ctrl+p
打开Settings -
在Settings > Startup > Environment里添加:
set LANG=zh_CN.UTF8
PS:
这样修改过ls
可以正确显示中文,但ls |more
还是会出现乱码。
如果改为set LANG=zh_CN.GBK
可以解决这个问题。
PPS:
因为cat
命令读取文件的编码与此有关,如果改为GBK则cat
一个UTF8文件会显示乱码,
如果改为UTF8则cat
一个GBK文件会显示乱码,
具体设置还是看你环境中常用编码。
cd
进一个中文目录,中文路径名显示乱码
经过上述设置,cmder一般情况下都能正常显示中文
但是如果你进入一个中文路径的话,cmder的路径的中文仍然是乱码
好在已经有人解决了这个问题
解决方案
只需下载最新的Release(目前是1.3.2):
Releases · cmderdev/cmder · GitHub
然后解压覆盖就好
最后附上一张配置完成的示意图: