PowerShellがgit logとdiffを出力したときに発生したハングルエラーを解決
4636 ワード
PowerShellはgitログまたはgit diffを出力する際に、符号化の問題でブレークすることがあります.この問題の解決方法について説明します.
TL;DR
TL;DR
Git設定を変更するか、PowerShell設定を変更します.どちらも直せる.
方法Git設定の変更
Gitの出力設定を変更します.このメソッドはGitの設定のみを変更するので、Gitの問題のみを解決します.PowerShellは影響を受けず、同じ問題が他のプログラムにも発生した場合は修復されません.git config --global core.pager 'less --raw-control-chars'
方法PowerShell設定の変更
PowerShellで環境変数を設定します.これはPowerShellウィンドウでのみ一時的に問題を解決します.$env:LC_ALL='C.UTF-8'
PowerShellを開くと自動的に実行されるスクリプトで、環境変数を設定した内容を記録します.新しいPowerShellウィンドウを開くたびに、PowerShellウィンドウに環境変数を設定し、問題を永続的に解決します.Set-ExecutionPolicy unrestricted
if(!(Test-Path -path $profile)){ New-Item -Type File -Path $profile -Force }
Add-Content -Path $profile -Value '$env:LC_ALL=''C.UTF-8'''
エラーの説明
PowerShellでgitログを出力すると、次のことが起こります.
この記事では、これらの問題を解決する方法について説明します.
どうして起こるの?
GitとPowerShellの符号化フォーマットは互換性がありません.
解決策Git設定の変更
1つ目の方法はGitの出力フォーマットを変更することです.
この方法の利点は,Gitの設定のみを変更し,PowerShellに触れないことである.
PowerShellは次のコマンドを使用してgitの出力設定を変更します.git config --global core.pager 'less --raw-control-chars'
この設定を無効にするには、次の手順に従います.git config --global --unset core.pager
解決策PowerShell設定の変更
2つ目の方法はPowerShellのエンコード方式を変更することです.
PowerShellの設定を変更する方法で、PowerShellが使用する他のプログラムに影響を与える可能性があります.
PowerShellウィンドウでの一時的な変更のみ
PowerShellでは、環境変数$env:LC_ALL
を'C.UTF-8'
に設定できます.
注意事項
この方法はPowerShellウィンドウでのみ有効です.新しいウィンドウで、問題が再び発生します.
次のコマンドを入力して環境変数を設定します.$env:LC_ALL='C.UTF-8'
PowerShellを起動するたびに、自動的に実行されるスクリプトが作成され、変更されます。
PowerShellを開くたびに自動的に実行されるスクリプトを作成し、$env:LC_ALL
環境変数を設定する内容を入力すると、環境変数を個別に設定するたびに自動的に問題を解決できます.
ただし、PowerShellで外部スクリプトを実行するには、実行ポリシーの制限を解除する必要があります.まず、次のコマンドを使用して、実行ポリシーの制限を解除します.Set-ExecutionPolicy unrestricted
PowerShellを開くたびに自動的に実行されるスクリプトパスは、$profile
変数に格納されます.パスにスクリプトがない場合は、次のコマンドラインを使用して新しいスクリプトを作成します.次に、作成したスクリプトファイルに$env:LC_ALL='C.UTF-8'
を追加します.これにより、後でPowerShellを再起動するたびにこのスクリプトを実行して、環境変数を設定できます.if(!(Test-Path -path $profile)){ New-Item -Type File -Path $profile -Force }
Add-Content -Path $profile -Value '$env:LC_ALL=''C.UTF-8'''
Reference
https://stackoverflow.com/questions/41139067/git-log-output-encoding-issues-on-windows-10-command-prompt
Reference
この問題について(PowerShellがgit logとdiffを出力したときに発生したハングルエラーを解決), 我々は、より多くの情報をここで見つけました
https://velog.io/@evanote/PowerShell에서-git-log-diff-출력-시-한글-깨지는-오류-해결
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
git config --global core.pager 'less --raw-control-chars'
$env:LC_ALL='C.UTF-8'
Set-ExecutionPolicy unrestricted
if(!(Test-Path -path $profile)){ New-Item -Type File -Path $profile -Force }
Add-Content -Path $profile -Value '$env:LC_ALL=''C.UTF-8'''
PowerShellでgitログを出力すると、次のことが起こります.
この記事では、これらの問題を解決する方法について説明します.
どうして起こるの?
GitとPowerShellの符号化フォーマットは互換性がありません.
解決策Git設定の変更
1つ目の方法はGitの出力フォーマットを変更することです.
この方法の利点は,Gitの設定のみを変更し,PowerShellに触れないことである.
PowerShellは次のコマンドを使用してgitの出力設定を変更します.git config --global core.pager 'less --raw-control-chars'
この設定を無効にするには、次の手順に従います.git config --global --unset core.pager
解決策PowerShell設定の変更
2つ目の方法はPowerShellのエンコード方式を変更することです.
PowerShellの設定を変更する方法で、PowerShellが使用する他のプログラムに影響を与える可能性があります.
PowerShellウィンドウでの一時的な変更のみ
PowerShellでは、環境変数$env:LC_ALL
を'C.UTF-8'
に設定できます.
注意事項
この方法はPowerShellウィンドウでのみ有効です.新しいウィンドウで、問題が再び発生します.
次のコマンドを入力して環境変数を設定します.$env:LC_ALL='C.UTF-8'
PowerShellを起動するたびに、自動的に実行されるスクリプトが作成され、変更されます。
PowerShellを開くたびに自動的に実行されるスクリプトを作成し、$env:LC_ALL
環境変数を設定する内容を入力すると、環境変数を個別に設定するたびに自動的に問題を解決できます.
ただし、PowerShellで外部スクリプトを実行するには、実行ポリシーの制限を解除する必要があります.まず、次のコマンドを使用して、実行ポリシーの制限を解除します.Set-ExecutionPolicy unrestricted
PowerShellを開くたびに自動的に実行されるスクリプトパスは、$profile
変数に格納されます.パスにスクリプトがない場合は、次のコマンドラインを使用して新しいスクリプトを作成します.次に、作成したスクリプトファイルに$env:LC_ALL='C.UTF-8'
を追加します.これにより、後でPowerShellを再起動するたびにこのスクリプトを実行して、環境変数を設定できます.if(!(Test-Path -path $profile)){ New-Item -Type File -Path $profile -Force }
Add-Content -Path $profile -Value '$env:LC_ALL=''C.UTF-8'''
Reference
https://stackoverflow.com/questions/41139067/git-log-output-encoding-issues-on-windows-10-command-prompt
Reference
この問題について(PowerShellがgit logとdiffを出力したときに発生したハングルエラーを解決), 我々は、より多くの情報をここで見つけました
https://velog.io/@evanote/PowerShell에서-git-log-diff-출력-시-한글-깨지는-오류-해결
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
1つ目の方法はGitの出力フォーマットを変更することです.
この方法の利点は,Gitの設定のみを変更し,PowerShellに触れないことである.
PowerShellは次のコマンドを使用してgitの出力設定を変更します.
git config --global core.pager 'less --raw-control-chars'
この設定を無効にするには、次の手順に従います.
git config --global --unset core.pager
解決策PowerShell設定の変更
2つ目の方法はPowerShellのエンコード方式を変更することです.
PowerShellの設定を変更する方法で、PowerShellが使用する他のプログラムに影響を与える可能性があります.
PowerShellウィンドウでの一時的な変更のみ
PowerShellでは、環境変数$env:LC_ALL
を'C.UTF-8'
に設定できます.
注意事項
この方法はPowerShellウィンドウでのみ有効です.新しいウィンドウで、問題が再び発生します.
次のコマンドを入力して環境変数を設定します.$env:LC_ALL='C.UTF-8'
PowerShellを起動するたびに、自動的に実行されるスクリプトが作成され、変更されます。
PowerShellを開くたびに自動的に実行されるスクリプトを作成し、$env:LC_ALL
環境変数を設定する内容を入力すると、環境変数を個別に設定するたびに自動的に問題を解決できます.
ただし、PowerShellで外部スクリプトを実行するには、実行ポリシーの制限を解除する必要があります.まず、次のコマンドを使用して、実行ポリシーの制限を解除します.Set-ExecutionPolicy unrestricted
PowerShellを開くたびに自動的に実行されるスクリプトパスは、$profile
変数に格納されます.パスにスクリプトがない場合は、次のコマンドラインを使用して新しいスクリプトを作成します.次に、作成したスクリプトファイルに$env:LC_ALL='C.UTF-8'
を追加します.これにより、後でPowerShellを再起動するたびにこのスクリプトを実行して、環境変数を設定できます.if(!(Test-Path -path $profile)){ New-Item -Type File -Path $profile -Force }
Add-Content -Path $profile -Value '$env:LC_ALL=''C.UTF-8'''
Reference
https://stackoverflow.com/questions/41139067/git-log-output-encoding-issues-on-windows-10-command-prompt
Reference
この問題について(PowerShellがgit logとdiffを出力したときに発生したハングルエラーを解決), 我々は、より多くの情報をここで見つけました
https://velog.io/@evanote/PowerShell에서-git-log-diff-출력-시-한글-깨지는-오류-해결
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
$env:LC_ALL='C.UTF-8'
Set-ExecutionPolicy unrestricted
if(!(Test-Path -path $profile)){ New-Item -Type File -Path $profile -Force }
Add-Content -Path $profile -Value '$env:LC_ALL=''C.UTF-8'''
https://stackoverflow.com/questions/41139067/git-log-output-encoding-issues-on-windows-10-command-prompt
Reference
この問題について(PowerShellがgit logとdiffを出力したときに発生したハングルエラーを解決), 我々は、より多くの情報をここで見つけました https://velog.io/@evanote/PowerShell에서-git-log-diff-출력-시-한글-깨지는-오류-해결テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol