powershell中git log的中文问题

powershell中git log的中文问题

默认情况下,powershell里使用git log输出有中文会有编码问题, 例如:

<85><8D><96><87>

显然这是utf-8编码的问题,git log输出的是utf-8编码,powershell默认使用GBK编码,就只能显示其16进制值了。
要改掉这万恶的GBK,需要以下两步:

1. 修改powershell的编码方式

命令:

chcp.com 65001  # 65001是utf-8编码的十进制代码

然后再去看powershell的属性,编码方式已经改为了utf-8,即使重开还是不会变。但是通过过特殊方式(vs插件)打开的powershell的编码还会是GBK,此时就需要更彻底的方法:修改注册表。

  1. win + R 运行: regedit 打开注册表编辑器
  2. HKEY_CURRENT_USER\Console%SystemRoot%_System32_WindowsPowerShell_v1.0_powershell.exe 修改CodePage的数值为十进制65001
  3. 如果没有CodePage,则新建,类型为REG_DWORD
    改毕,重启。

2. 增加环境变量LESSCHARSET

setx LESSCHARSET 'utf-8'

不同于Linux,此命令永久设置环境变量。

3. 题外

总所周知,vscode非常好用,vscode下的终端工具(power shell)也是,上文中遇到的问题vscode中并没有。
尽管如此,.net core还是在vs下写得爽。但vs里不能像vscode那样直接在当前工作目录下打开终端就很不爽,幸好vs插件Open Command Line就可以解决此问题。
安装好此插件后,右键解决方案或项目或文件夹然后Open Command Line(快捷键:Alt + 空格)即可正在对应的路径上打开终端。我使用的终端是power shell,可以修改Open Command Line的设置来更改。
但是,为什么vscode里的power shell终端没中文问题,而这里的powershell就出问题了呢??

你可能感兴趣的:(powershell中git log的中文问题)