powershell中git log的中文问题
默认情况下,powershell里使用git log输出有中文会有编码问题, 例如:
<E9><85><8D><E7><BD><AE><E6><96><87><E4><BB>
显然这是utf-8编码的问题,git log输出的是utf-8编码,powershell默认使用GBK编码,就只能显示其16进制值了。
要改掉这万恶的GBK,需要以下两步:
1. 修改powershell的编码方式
命令:
chcp.com 65001 # 65001是utf-8编码的十进制代码
然后再去看powershell的属性,编码方式已经改为了utf-8,即使重开还是不会变。但是通过过特殊方式(vs插件)打开的powershell的编码还会是GBK,此时就需要更彻底的方法:修改注册表。
- win + R 运行: regedit 打开注册表编辑器
- HKEY_CURRENT_USER\Console%SystemRoot%_System32_WindowsPowerShell_v1.0_powershell.exe 修改CodePage的数值为十进制65001
- 如果没有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就出问题了呢??
网友评论