解决Win10下cmd中git log中文乱码

问题现象

在Win10的cmd(命令提示符)中使用git log查看提交日志时,如果日志中包含中文,会显示成形如“”之类的乱码,即使将cmd的代码页切换到65001(UTF-8)也不能解决该问题。

原因分析

出现该问题的原因是git log会以一种分页的方式显示日志,而git默认的分页器less的默认编码跟windows默认的不一致导致无法正确显示中文。

解决方案

  1. git --no-pager log (不推荐)
    既然是分页器less的问题,那禁用分页器就可以了,但是这样就会一下子显示非常多的日志,所以不推荐这种方法。
    网上还有一种方式是git config --global core.pager more,其实跟这个方式差不多,也是会一次性显示非常多的日志。

  2. set LESSCHARSET=UTF8 (临时用可以,值为UTF8不是UTF-8)
    在cmd中直接键入该命令后,再使用git log就能正确显示中文了。
    该命令可以临时解决问题,因为set命令设置的变量只临时作用于当前cmd,不会永久存储,关了cmd或新打开一个cmd还是会有这个问题。

  3. 在Windows的环境变量里设置LESSCHARSET=UTF8 (推荐
    在Windows的环境变量里(用户或系统变量都可以)添加一个“LESSCHARSET”的环境变量,值设为“UTF8”,保存后就可以永久生效了。

你可能感兴趣的:(解决Win10下cmd中git log中文乱码)