Windows의 cmd.exe 기본 인코딩은 cp949이며 이 상태에서 mercurial 명령어를 입력했을 경우,
diff는 한글이 깨지고, log는 한글이 제대로 나옴.
cmd.exe의 인코딩을 변경했을 경우엔 반대로,
diff는 한글이 제대로 나오는데 log는 한글이 깨져서 나옴.
저장소 파일이 전부 UTF-8이고, cmd.exe의 인코딩 세팅이 chcp 65001 명령어를 통해 UTF-8로 되어있다고 가정할 때,
log에서 한글이 제대로 나오게 하려면 --encoding 옵션을 통해 인코딩을 지정해주면 됨.
C:\Rep> hg log -l 10 --encoding=utf-8
혹은 C:\사용자\사용자이름\mercurial.ini 에서 alias를 지정하는 방법도 있음.
[alias]
logs = log --encoding=utf-8
mercurial.ini 파일에 alias로 logs 라는 명령어를 지정하고 아래처럼 실행하면 로그에 한글이 깨지지 않고 나옴.
C:\Rep> hg logs -l 10 -G
(cmd.exe의 기본 인코딩 세팅을 UTF-8로 지정하는 방법은 다음 페이지 참조: https://bloodguy.tistory.com/entry/Windows-cmdexe-UTF-8-%EC%84%A4%EC%A0%95%EC%9C%BC%EB%A1%9C-%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0-open-cmdexe-with-UTF-8?category=205993)
// 인코딩을 UTF-8로 변경
C:\Rep> chcp 65001
// 로그를 출력해보면 한글이 깨짐
C:\Rep> hg log -l 3
changeset: 331:e86b762bcc6d
tag: tip
user: �����
date: Tue Jul 02 16:55:12 2019 +0900
summary: �α��� ��ư disabled ������
changeset: 330:53c5d7cd9429
user: �����
date: Thu Jun 20 13:46:12 2019 +0900
summary: ���ǹ� ������
changeset: 329:65c14787efe0
user: �����
date: Thu Jun 20 10:56:08 2019 +0900
summary: ���� Ÿ�̹� ����
// 인코딩을 UTF-8로 지정하면 안깨짐
C:\Rep> hg log -l 3 --encoding=utf8
changeset: 331:e86b762bcc6d
tag: tip
user: 백충덕
date: Tue Jul 02 16:55:12 2019 +0900
summary: 로그인 버튼 disabled 버그수정
changeset: 330:53c5d7cd9429
user: 백충덕
date: Thu Jun 20 13:46:12 2019 +0900
summary: 조건문 버그수정
changeset: 329:65c14787efe0
user: 백충덕
date: Thu Jun 20 10:56:08 2019 +0900
summary: 변경 타이밍 조절
'컴퓨터관련 잡동사니' 카테고리의 다른 글
[Windows] 원격 데스크톱 연결 시 모니터 여러 대 사용하기 (0) | 2020.05.11 |
---|---|
[Windows] Windows10에서 다른 서버 포트개방 여부 확인 (check remote network port is open on windows 10) (0) | 2020.01.21 |
[Windows] cmd.exe UTF-8 설정으로 시작하기 (open cmd.exe with UTF-8) (0) | 2019.07.03 |
[Chrome] 개발자도구 콘솔 팁 (4) | 2018.07.31 |
[Chrome] console API (0) | 2018.07.31 |