为了解决 git 的 Unicode 显示问题,已经更改了能够想到的配置和环境变量(具体见文末)。
直接显示是没有问题的,但是如果将流传入管道中或保存到变量里面,编码就会出错。
# 错误流,没有捕捉直接显示则不会有任何问题;标准输出流被传入管道之后,就会产生错误,将“①”显示为“鈶?”
PS>git rev-parse '①' | Out-String
fatal: ambiguous argument '①': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
鈶?
还有个奇怪的现象:如果用的是 vscode 里面的 PowerShell Integrated Console,则一切正常。
到底是哪里出了问题?
配置和环境变量
[gui]
encoding = utf-8
recentrepo = D:/GitRepository/PowerShell
[i18n "commit"]
encoding = utf-8
[i18n]
logoutputencoding = utf-8
LESSCHARSET = "utf-8"
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.