---
title: Cmder 中文乱码设置
date: 2020-07-18 21:37
author: gatieme
tags:
- linux
- tools
categories:
- 编程珠玑
thumbnail:
blogexcerpt: Cmder 是 Windows 下替换原有 cmd 的绝佳工具, 但是与默认的 cmd 一样, 都与 git 等工具命令行存在一些兼容性问题, 比如中文乱码问题.
---
| 日期 | 作者 | GitHub | CSDN | BLOG |
|---|---|---|---|---|
| 2020-07-18 | gatieme | AderXCoding | Cmder中文乱码设置 | Cmder中文乱码设置 |
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可, 转载请注明出处, 谢谢合作
因本人技术水平和知识面有限, 内容如有纰漏或者需要修正的地方, 欢迎大家指正, 也欢迎大家提供一些其他好的调试工具以供收录, 鄙人在此谢谢啦
Cmder 是 Windows 下替换原有 cmd 的绝佳工具, 但是与默认的 cmd 一样, 都与 git 等工具命令行存在一些兼容性问题, 比如中文乱码问题.
中文乱码本质上都是编码配置的问题, 一般都可以通过配置环境变量来解决问题. cmder 是一个伪 unix 的终端工具, 可以在 win 下为我们提供一个类 Unix 方式的终端工具. 因此我们环境变量的配置应该也是类似的. 尝试一下子
locale这个单词中文翻译成地区或者地域, 其实这个单词包含的意义要宽泛很多。Locale是根据计算机用户所使用的语言, 所在国家或者地区, 以及当地的文化传统所定义的一个软件运行时的语言环境.
那么我们一般设置 LC 等变量的格式为 zh_CN.GB2312, 这到底是在说什么?
Locale是软件在运行时的语言环境, 它包括语言(Language), 地域 (Territory) 和字符集(Codeset)。一个locale的书写格式为: 语言[地域[.字符集]]。所以说呢, locale总是和一定的字符集相联系的 设定locale就是设定12大类的locale分类属性, 即12个LC。除了这12个变量可以设定以外, 为了简便起见, 还有两个变量:LC_ALL和LANG。它们之间有一个优先级的关系:LC_ALL > LC_ >LANG。可以这么说, LC_ALL是最上级设定或者强制设定, 而LANG是默认设定值.
另外LANG和LANGUAGE有什么区别呢?
LANG - Specifies the default locale for all unset locale variables LANGUAGE - Most programs use this for the language of its interface LANGUAGE是设置应用程序的界面语言。而LANG是优先级很低的一个变量, 它指定所有与locale有关的变量的.
通过上面的分析我们知道, 我们只需要设置 LANG 变量为 zh_CN.UTF-8 尝试在终端界面设置下 LANG. 看问题是否得到解决.
set LANG=zh_CN.UTF-8可以看到, cmder 中 git 能正常显示中文了.
总不能每次都在终端中设置 LANG 或者 LC_ALL 变量吧. 最便捷的方法是在配置文件中将环境变量固化下来.
或者直接在在 Cmder 安装目录下的 config/user-profile.cmd 配置文件中添加配置信息
这样就可以解决中文乱码的问题.
-
本作品/博文 ( [AderStep-紫夜阑珊-青伶巷草 Copyright ©2013-2017](http://blog.csdn.net/gatieme) ), 由 [成坚(gatieme)](http://blog.csdn.net/gatieme) 创作. -
采用<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/"><img alt="知识共享许可协议" style="border-width:0" src="https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png" /></a><a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/">知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议</a>进行许可. 欢迎转载、使用、重新发布, 但务必保留文章署名[成坚gatieme](http://blog.csdn.net/gatieme) ( 包含链接: http://blog.csdn.net/gatieme ), 不得用于商业目的. -
基于本文修改后的作品务必以相同的许可发布. 如有任何疑问,请与我联系.



