본문 바로가기

Error

cmd에서 한글이 깨질 때

cmd에서 한글이 깨질 때 

명령 프롬프트(cmd)를 사용할 때 한글이 깨져 보이는 경우. 
생각없이 .bat 파일을 생성해서 일괄적으로 작업하려고 할 때나
mysql 등의 database에 접속할 때 GUI 환경이 아니라 명령프롬프트로 접속할 때 한글이 깨지는 경우 활용하자.

chcp

cmd 창에 chcp를 입력하면 Active code page : 숫자가 뜬다.
보통은 437로 설정되어 있을텐데 미국(영어)를 의미한다.

그럼 chcp 949 명령어를 통해 Code Page를 변경해보자.

949는 한국어다. 정확히는 "한글 확장 완성형" 이라고 하는데, 그래서 똟딺뽫과 같은 한글도 깨지지 않고 나온다고 한다. 


그러나 일반적으로는 chcp 65001을 쓴다. 

65001은 흔히 아는 UTF-8 인코딩이다. 



그러나 매번 chcp를 변경하는 것은 귀찮은 일이다. 

chcp 65001로 설정해도 재실행하면 다시 chcp가 437로 설정되어 있다.

레지스트리

그래서 레지스트리 자체를 변경하여 기본값을 바꿔준다.
실행-regedit으로 레지스트리 편집기로 들어간다.
경로는 다음과 같다.
컴퓨터\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage

밑으로 스크롤해 OEMCP를 클릭하고, 값을 949 혹은 65001로 변경한다.


재부팅하면 이제 매번 chcp 명령어를 입력해주지 않아도 된다.