게임 개발/유니티 엔진

유니티 C# 스크립트 코드 한글 깨짐, 인코딩 해결방법

술단고 2025. 4. 16. 13:33

유니티 최신 LTS 버전에서 나타나는 한글 깨짐 현상

 

한글로 주석을 해놓은 유니티 엔진의 C# 스크립트 코드 부분에서 깨짐 현상이 발견되었다.

이는 문자 인코딩 방식때문에 일어나는 문제이기 때문에, 인코딩을 바꾸어주면 된다.

 

파일이 UTF-8로 저장되어 있지 않았기 때문에 한글을 처리할 수 없던 문제라,

앞으로 코드가 저장될 때 UTF-8을 지원하게끔 처리할 수 있다.

 

이미 코드에 문제가 발생한 기존 코드는 따로 저장해야 하고,

앞으로 만들어질 모든 스크립트는 알아서 UTF-8로 저장되게끔 설정할 수 있다.

 


 

1. 이미 문제가 발생한 스크립트 수정

우선 스크립트를 열고,

파일 - 다른 이름으로 저장을 누른다.

 

 

이후 저장을 어디에 할지 로컬 탐색기가 뜰 때,

인코딩하여 저장을 클릭한다.

 

 

인코딩 방식을 한국어 - 코드 페이지 949가 아닌,

유니코드 (UTF-8) - 코드 페이지 65001로 바꾼 후 저장한다.

기존의 코드에 덮어써도 전혀 상관없다.

 


2. 앞으로 작성할 스크립트에 자동 적용

 

유니티 에셋 창에서 우클릭 - Show in Explorer를 통해 로컬 탐색기를 열어준 후,

해당 프로젝트의 최상위 폴더에 텍스트 문서를 하나 만들어준다.

 

 

해당 메모장 이름을, 확장자까지 모두 포함하여

.editorconfig 라는 이름으로 수정해준다.

 

root = true

[*]
charset = utf-8

 

이후 위와 같은 코드를 넣어준다.

해당 root부터 Reflection으로 모든 파일들에 대해 문자열 인코딩 셋을 UTF-8로 지정해준다는 의미이다.

 

앞으로 그냥 프로젝트를 새로 만들게 되면 이 작업을 우선 해주는 것도 나쁘지 않겠다.

 


 

적용 후, 한글이 잘 표시된다.

 

결과적으로 한글이 잘 표시되기 시작했다.

왜 기본 인코딩에선 한글이 엔진상에 표시되지 않고, UTF-8 인코딩에선 이후 문자열 인코딩 방식에 대해 포스팅을 할 기회가 있다면 해당 글에 작성하도록 하겠다.