[트러블슈팅] CMD 창 한글 깨짐 - JavaScrpt

GDORI·2024년 8월 21일
0

TroubleShooting

목록 보기
1/1

오마이갓

오늘 부트캠프 개인과제를 부여받고 스켈레톤 코드를 실행하는 과정에서 일부 한글이 깨짐 식별

문제에 대해서 찾아보니 Windows 10과 readline-sync 모듈 간 인코딩의 문제인 것을 식별.

윈도우 10에서 사용하는 인코딩 방식이 한글 확장 완성형(949)라고 한다.
이걸 UTF-8 (65001)로 바꾸어주면 해결이 된다.

cmd 명령어 중 chcp, CHange Code Pages라는 것이 있는데 cmd 상의 언어를 바꾸는 명령어가 있다.

하지만, 1회성

chcp 65001을 입력하고 JS 파일을 실행하니 해결이 되었지만, 껐다가 키니까 되돌아왔다.

제어판 - 시계 및 국가 - 국가 또는 지역 - 관리자 옵션 탭 - 시스템 로캘 변경 클릭 - Beta: Unicode UTF-8 사용 클릭 - 재부팅

위 과정으로 고정하는 방법이 있지만, 나 이외의 다른 사람이 이용할 때 이 과정을 거쳐야 한다는
점이 걸렸다.

처음에 아무도 모르게 스리슬쩍 명령어 실행

그래서 생각해낸 방법이, chcp 65001 명령어를 프로그램이 실행될 때 자동으로 입력되게 만든다면? 이라는 생각이 들었고 실행해보았다.
결과는 성공이었다. 물론, 다른 환경에서는 테스트 해보지 못해서 정답이 아닐 수 있지만 지금 당장은 나혼자 쓰는 프로그램이니까...

import {execSync} from 'child_process';

function get_encoding() {
    if (process.platform === "win32") {
        return execSync('chcp 65001').toString();
    } else {
        return 0
    }
}

function start(){
  	get_encoding();
	구동되어야 할 함수들 실행 
}

start()

해결

profile
하루 최소 1시간이라도 공부하자..

0개의 댓글