한글 차별하는 VS... 가만 안 둬...
스파르타 코딩클럽에서 제공하는 내일배움캠프 언리얼 엔진 과정을 들은지 벌써 한 달이 다 되어 간다.
약 일주일 간 텍스트 기반 RPG 게임을 제작하는 팀 프로젝트를 아주 멋진 팀원 분들과 함께 하고 있다.
팀 프로젝트를 진행하며 Git 을 통해 여러 버전이 오가고, 또 비주얼 스튜디오의 기본 인코딩 설정으로 인해 에디터 및 터미널에서 한글이 깨지는 문제가 수도 없이 발생해 하루 종일 골머리를 앓았다. 인터넷에 산발적으로 존재하는 해결 방안 중 내가 직접 실행한 것들을 모두 모아보았다.
(컴퓨터 환경마다 모두 다르니 주의)
*영문 버전 윈도우를 사용하는 경우 문제 해결이 잘 안 될 수 있다고 한다. 와하하
우리가 원하는 것은 UTF-8 인코딩
UTF-8
UTF-8은 가장 많이 사용되는 가변 길이 유니코드 인코딩이다. 켄 톰슨과 롭 파이크( Go 언어 를 만든 사람
namu.wiki
1. Git Bash 에서 UTF-8 설정
Git commit 시 UTF-8 인코딩이 기본으로 설정되도록 하는 방법.
- 로컬 레포지토리에서 .git 에 들어가 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 인코딩 파일이 있어서 그랬겠죠?
잘 안되면 여기서 체크 / 체크 해제 하는 설정들을 만져보시길 추천드립니다~
'언리얼_엔진_게임개발_공부 > 그 외' 카테고리의 다른 글
[Git] Git & GitHub 협업 플로우 및 기본 명령어 (1) | 2024.12.24 |
---|