解决git乱码
最近发现很奇怪一个事,公司的git在终端里中文乱码了,十一放假前还好好的。
看了看同事的也乱码了,回家看看自己的电脑也是一样。神了。明明之前还好好的
问题不大,试试吧
本解决方案只适用于windows
症状
在本地新建git库,新建一个文件,运行git status,会出现以下这种乱码
Untracked files:
(use "git add <file>..." to include in what will be committed)
"\346\226\260\345\273\272\346\226\207\346\234\254\346\226\207\346\241\243.txt"
然后如果你用提交的信息使用中文,运行git log时就会出现下面这种乱码
Author: icicle <xxxxxx@xxx.com>
Date: Tue Oct 16 22:25:06 2018 +0800
<E4><B8><AD><E6><96><87><E6><8F><90><E4><BA><A4>
这很烦啊…
如何解决
第一条,针对文件名乱码
git config --global core.quotepath false
第二条,针对log乱码
这个稍微有点复杂,因为涉及到环境变量,要贴命令也行,你要图快的话。
setx LESSCHARSET 'utf-8'
这条命令是给当前用户添加一条环境变量,名字是'LESSCHARSET’,值是'utf-8'
然后你重启一下命令行,再试试git log,现在就应该可以正常显示中文了。
但还是建议你自己打开环境变量,自己动手添一条。名字就是'LESSCHARSET',值是'utf-8’。没有单引号。
其他的碎碎念
如果你只是想快速解决问题,这个就没啥好看的了。解决问题就上面那两条。下面就是简单解释一下这两条干了什么。
但我还是建议看一下,又不费劲对不。
第一条
对当前用户的git全局设置增加一条core.quotepath 设置为false。
第二条
setx命令,永久增加一条环境变量。当然还有个命令叫set,那是临时增加一条。
增加的就是这个LESSCHARSET,像是把less的字符集设置为utf-8。
那么less是个什么东西呢,他是git的分页器。分页器是什么东西呢?就是当你有很多log,或者很多其他的什么,git不会一下子都给你展示出来,而是你按一下回车出一行,按q退出。
所以网上还有一种解决log乱码的方法,分页器不显示中文是吧,干脆,不用分页器不就行了…所以出现这种命令git config --global core.pager '',设置为空,或者是more。确实是不乱码了,但是没分页了,打印个log,刷~ 一直给你显示到项目最初始的commit,没法看了。
基本上来说,我就靠的这两条命令解决的这问题,就酱。
This work is licensed under CC BY-NC-SA 4.0
- ← Previous
修改npm全局安装路径和缓存路径 - Next →
简单说说URI的构成