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了

相關文章
相關標籤/搜索