본문 바로가기
언리얼_엔진_게임개발_공부/그 외

Visual Studio 2022 한글 깨짐 현상

by jaboy 2025. 1. 13.

한글 차별하는 VS... 가만 안 둬...

스파르타 코딩클럽에서 제공하는 내일배움캠프 언리얼 엔진 과정을 들은지 벌써 한 달이 다 되어 간다.

약 일주일 간 텍스트 기반 RPG 게임을 제작하는 팀 프로젝트를 아주 멋진 팀원 분들과 함께 하고 있다.

 

팀 프로젝트를 진행하며 Git 을 통해 여러 버전이 오가고, 또 비주얼 스튜디오의 기본 인코딩 설정으로 인해 에디터 및 터미널에서 한글이 깨지는 문제가 수도 없이 발생해 하루 종일 골머리를 앓았다. 인터넷에 산발적으로 존재하는 해결 방안 중 내가 직접 실행한 것들을 모두 모아보았다.

(컴퓨터 환경마다 모두 다르니 주의)

 

*영문 버전 윈도우를 사용하는 경우 문제 해결이 잘 안 될 수 있다고 한다. 와하하

 

우리가 원하는 것은 UTF-8 인코딩

 

UTF-8

UTF-8은 가장 많이 사용되는 가변 길이 유니코드 인코딩이다. 켄 톰슨과 롭 파이크( Go 언어 를 만든 사람

namu.wiki

 

1. Git Bash 에서 UTF-8 설정

Git commit 시 UTF-8 인코딩이 기본으로 설정되도록 하는 방법.

 - 로컬 레포지토리에서 .git 에 들어가 config 파일을 연다. (숨김파일 보이게 설정되어 있어야 한다.)

중간에 config 보이시죵?

 

 - 아래와 같은 문구를 적어 저장한다. (난 그냥 맨 위에 적었다.)

[i18n]
	commitEncoding = utf-8
	logOutputEncoding = utf-8

끝!

소스 파일을 GUI 클라이언트 (나는 팀원 분이 알려준 fork 사용 중) 에서 확인하면 종종 한글이 깨지고는 했는데 이 현상이 해결된다.

 

2. 시스템 로캘 설정

(윈도우 11 기준)

시작버튼 우클릭 - 설정 - 시간 및 언어 - 언어 및 지역 - 기본 언어 설정 

이미지에서 아래에서 두 번째

 

시스템 로캘 변경... - 한국어 설정 & Beta: 세계 언어... 어쩌구 체크 - 확인 후 *재부팅!*

 

3. .editorconfig 파일 추가 후 아래 내용 입력

[*]
charset=utf-8

 

그냥 텍스트 편집 프로그램으로 파일 만들어서 적고 저장해줘도 된다.

이건 앞으로 생성하는 파일의 인코딩을 설정해주는 거라서, 이미 생성된 파일들이 UTF-8 아니라면 인코딩을 바꿔 저장해줘야 한다.

 

4. 이미 생성된 파일 UTF-8 인코딩으로 변경 후 저장

소스 파일을 열고 파일 - 다른 이름으로 저장 - 저장버튼 옆 드롭다운 메뉴 - 인코딩하여 저장 - 서명 있는(윈도우 위주)/없는(두루두루) UTF-8 코드페이지 65001

ㅋㅋㅋ스크린샷은 '서명 없는' 인데 '서명 있는' 으로 하시길~

서명에 대한 설명은 여기

 

UTF-8, UTF-8(BOM) 차이

메모장의 인코딩 옵션을 살펴보면 UTF-8과 UTF-8(BOM)이 있다. 그리고 Visual studio 고급 저장 옵션에는 서명있는 UTF-8과 서명있는 UTF-8이 있다. 둘의 차이는 무엇일까? BOM은 Byte Order Mark의 약자로 해당

eteo.tistory.com

 

근데 언제 일일이 하고 앉았나~ 이런 걸 찾았다.!!!!

https://forum.dotnetdev.kr/t/encoding-converter/10068

 

Encoding Converter

비주얼 스튜디오에서 여러 파일의 인코딩을 한꺼번에 변환할 수 있는 확장입니다. 하나 또는 여러 파일의 인코딩을 변환하거나 프로젝트 단위로 변환할 수도 있습니다. 처음에는 닷넷 프레임워

forum.dotnetdev.kr

여러 파일의 인코딩을 한 번에 바꿔주는!! 사용법도 간단

솔루션 탐색기에서 프로젝트에 우클릭 - 인코딩 변환

 

끝....?!?!?!

 

5. VS 에서 프로젝트 - 속성 (맨 아래) - C/C++ - 명령줄 - 추가 옵션 칸에 /utf-8 넣고 적용

 

이건 CMD에 인코딩 정보를 전해주는 것

여기를 참고하세요!!

https://dong-grae.tistory.com/109

 

25.01.13 (월)

UTF-8 인코딩 문제 "The file contains a character that cannot be represented in the current code page (949). Save the file in Unicode format to prevent data loss "  오류 발생.. 한글 문자열이 포함되어있는 프로젝트를 빌드했

dong-grae.tistory.com

 

 

6. 도구 - 옵션 - 텍스트 편집기 - 일반 - 시그니처 없는 UTF-8 인코딩 자동 검색

파일 인코딩 설정 등에 따라 다르겠지만, 우리는 체크 그대로 놔뒀다. 몇몇 인터넷 글은 체크 해제하라고 하던데, 우리는 그랬더니 안됐당... 아무래도 프로젝트에 시그니처 없는 UTF-8 인코딩 파일이 있어서 그랬겠죠?

 

 

잘 안되면 여기서 체크 / 체크 해제 하는 설정들을 만져보시길 추천드립니다~