powershell 终端美化 git 分支名乱码解决办法

以前经过 on-my-posh 已经美化过一次了可是 若是我 git 分支名中有中文那么他显示的仍是乱码,因此如今想让他正常显示git

图片.png

经过以下命令找到主题文件shell

图片.png

打开以后搜寻一番发现工具

图片.png

ps 脚本我不太懂,看这个文件大体能够猜出来终端中上面那一行就是 $prompt 输出后的结果,如今的问题缩小到如何让 $prompt 内包含的中文输出后正常显示?编码

通过尝试上图红框出输入中文输出的也是乱码,网上搜寻无果,忽然想起来gb2312 这个东西,将该文件使用gb2312编码保存代码内的中文能够输出了spa

图片.png

但右侧分支名仍是乱码,猜想应该是同样的问题,那么应该会有这几种解决方案.net

  1. 让powershell 支持utf-8。这个由于其余问题以前试过,虽然utf-8 的是正常显示了但致使原本中文能正常输出的反而不行了
  2. 最好的方法应该是直接让这个脚本能够输出utf-8的字符
  3. 分支名转 gb2312 再输出

接下来就是去网上找文档看有没有办法解决或者能实现我上面提出的两个方案code

https://www.zhihu.com/question/54724102/answer/1035566559 发现了解决方案1的实现方法图片

步骤以下utf-8

  1. 输入 $profile 获得powershell配置文件地址

图片.png

  1. 添加 $OutputEncoding = [console]::InputEncoding = [console]::OutputEncoding = New-Object System.Text.UTF8Encoding

图片.png

中文分支名正确显示!文档

图片.png

另外的问题,显示 emoji

我想在最前面放一个 emoji

图片.png

图片.png

在线编码工具 http://tools.jb51.net/transcoding/decode_encode_tool

这个三角形的编码就是 0x1F4D0 但打印出来后前面多了问号,不知道什么缘由,但前四位为0的emoji是能够正常显示的,多是由于组合字的缘故。

这个问题没有想到比较好的方法,望了解者不吝赐教(´▽`ʃ♡ƪ) 。我只能暂时先用单个码点的emoji了

相关文章
相关标签/搜索