[PowerShell] - 파워쉘을 이용할때 한글깨짐현상 해결방법
2020. 6. 8. 22:45
728x90
반응형
PowerShell 을 이용해서 Git 로그를 알아오기 위한 명령어를 실행 중, 한글이 깨지는 현상이 발견되었습니다.
인터넷을 찾아보니, 빈번하게 발생하는 부분인거 같아서 정리해보았습니다.
1. 출력에 따른 UTF-8 설정
웹 서핑 결과 아래의 명령을 PowerShell 에 입력하면, 한글 출력이 가능하다고 하여, 설정해 봤습니다.
$env:LC_ALL='C.UTF-8'
그 결과 위 화면 처럼 보여지네요.
하지만 위 내용은 매번 PowerShell을 실행 했을 경우, 재 입력을 해줘야 하는 불편함이 있습니다.
또한 ISE 환경에서는 적용이 안되는 불편함도 있고요.
2. PowerShell 실행시, 자동 적용
PowerShell 이 항상 실행될 때, 해당 명령이 실행되도록 하고 싶다면,
$profile 명령어를 사용해서 나오는 경로의 ps1 파일에 위 내용을 입력해 놓으면 됩니다.
만약 파일이 없다면, 같은 이름으로 생성해주셔도 됩니다.
위 내용을 ps1 파일에 기입해 놓으면, PowerShell 을 실행시킬때마다, 자동으로 등록이 된다고 합니다.
3. 변수 이용시 한글 깨짐
하지만, 위 방법을 적용했지만,
문제가 발생하였습니다. 다른 포스트에서도 내용을 다루겠지만,
PowerShell의 변수에 git log 명령으로 나온 Text를 담게 되면, 여전히 Text는 깨지는 현상이 발생하였습니다.
해결방안
[System.Console]::OutputEncoding = [System.Text.Encoding]::UTF8
PowerShell은 출력시에 인코딩 값이 기본적으로 정해져 있다고 합니다.
위와 같이 ps1 파일 혹은 Jenkins의 PowerShell 실행시 제일 먼저 위 내용을 실행 시켜 주면,
변수에 담은 내용도, 한글이 깨지지 않습니다.
728x90
'PowerShell, CMD' 카테고리의 다른 글
[PowerShell] 파워쉘 다운로드 및 업그레이드, 폰트변경 (1) | 2022.02.05 |
---|---|
[CMD] taskkill batch script 프로세스 체크 방법 (0) | 2021.08.23 |
[PowerShell] Invoke-WebRequest 를 이용한 웹호출 POST,GET (0) | 2021.06.21 |
[PowerShell] 파워쉘 ps1 파일 실행 권한 변경 (0) | 2021.05.18 |
[PowerShell] SVN Log Pretty 포맷 만들기 (0) | 2021.05.14 |