Powershellにおけるgit logの中国語問題
1319 ワード
Powershellにおけるgit logの中国語問題
デフォルトでは、powershellでgit log出力を使用すると、中国語で符号化の問題が発生します.たとえば、次のようになります.
明らかにutf-8符号化の問題で、git logはutf-8符号化を出力し、powershellはデフォルトでGBK符号化を使用しており、16進数値しか表示できません.この万悪のGBKを改めるには、以下の2つのステップが必要です.
1.Powershellの符号化方式の変更
コマンド:
そしてパワーシェルの属性を見てみると、符号化方式はutf-8に変更され、再開しても変わらない.ただし、特殊な方法(vsプラグイン)で開いているパワーシェルの符号化はGBKでもあり、レジストリを変更するより徹底的な方法が必要です. win+R実行:regeditレジストリエディタ を開く HKEY_CURRENT_USER\Console%SystemRoot%_System32_WindowsPowerShell_v1.0_powershell.Exce CodePageの修正値は10進数65001 である. CodePageがない場合は新規、タイプはREG_DWORDを変更し、再起動します.
2.環境変数LESSCHARSETを増やす
Linuxとは異なり、このコマンドは環境変数を永続的に設定します.
3.問題外
よく知られているように、vscodeは非常に使いやすく、vscodeの下の端末ツール(power shell)も、上記の問題vscodeにはありません.それでもNetcoreはやはりvsの下で爽やかに書かれています.しかし、vsの中でvscodeのように現在の作業ディレクトリの下で直接端末を開くことができないのは不快で、幸いにもvsプラグイン
デフォルトでは、powershellでgit log出力を使用すると、中国語で符号化の問題が発生します.たとえば、次のようになります.
<85><8D><96><87>
明らかにutf-8符号化の問題で、git logはutf-8符号化を出力し、powershellはデフォルトでGBK符号化を使用しており、16進数値しか表示できません.この万悪のGBKを改めるには、以下の2つのステップが必要です.
1.Powershellの符号化方式の変更
コマンド:
chcp.com 65001 # 65001 utf-8
そしてパワーシェルの属性を見てみると、符号化方式はutf-8に変更され、再開しても変わらない.ただし、特殊な方法(vsプラグイン)で開いているパワーシェルの符号化はGBKでもあり、レジストリを変更するより徹底的な方法が必要です.
2.環境変数LESSCHARSETを増やす
setx LESSCHARSET 'utf-8'
Linuxとは異なり、このコマンドは環境変数を永続的に設定します.
3.問題外
よく知られているように、vscodeは非常に使いやすく、vscodeの下の端末ツール(power shell)も、上記の問題vscodeにはありません.それでもNetcoreはやはりvsの下で爽やかに書かれています.しかし、vsの中でvscodeのように現在の作業ディレクトリの下で直接端末を開くことができないのは不快で、幸いにもvsプラグイン
Open Command Line
がこの問題を解決することができます.このプラグインをインストールしたら、ソリューションまたはプロジェクトまたはフォルダを右クリックして、対応するパスで端末を開くことができます.私が使っている端末はパワーシェルで、Open Command Lineの設定を変更して変更することができます.しかし、なぜvscodeのパワーシェル端末に中国語の問題がなく、ここのパワーシェルに問題があったのだろうか.