한글 깨짐

 

VS Code 에서 코딩하면 기본적으로 UTF-8로 인코딩된다. 그런데 Code Runner 를 이용하면 터미널을 이용해서 코드를 컴파일하고 출력하는데, 이때는 윈도우 설정인 EUC-KR(혹은 CP949)로 인코딩된다. 따라서 한글이 깨지게 된다.

이를 해결하기 위해서 터미널에 다음 명령어를 입력하여 UTF-8로 인코딩해주어야 한다. 물론 아예 코드를 EUC-KR로 작성하는 것도 방법일 수 있지만, 이렇게 작성된 코드는 깃허브에 올리거나 할 때 깨지기 때문에 윈도우 터미널 설정을 건드는 것이 좋다.

-encoding UTF-8

이제 이 입력어를 Code Runner 를 이용할 때 마다 입력되도록 하면 될 것 같다.

VS Code 의 좌측 확장을 클릭하고 Code Runner 를 찾은 다음 톱니바퀴를 눌러 설정을 열자.

설정에서 Code-runner: Executor Map 를 찾고, setting.json에서 편집을 클릭한다.

대충 아래와 같은 코드가 있을 것이다.

"code-runner.executorMap": {
        
        "javascript": "node",
        "java": "cd $dir && javac $fileName && java $fileNameWithoutExt",
        "c": "cd $dir && gcc $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
        "zig": "zig run",
        "cpp": "cd $dir && g++ $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
        "objective-c": "cd $dir && gcc -framework Cocoa $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
        "php": "php",
        "python": "python -u",
        "perl": "perl",
        "perl6": "perl6",
        "ruby": "ruby",
        "go": "go run",
        ...

이제 여기서 java 를 수정해주면 된다.

"java": "cd $dir && javac -encoding UTF-8 $fileName && java $fileNameWithoutExt",

저장하고 java 코드를 Code Runner 로 돌려보면 정상적으로 UTF-8 인코딩이 이뤄지고 돌아간다.

 

애스터로이드