ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Unreal Engine] C++ Code encoding
    Unreal Engine 5._ 2023. 5. 16. 14:10

    언리얼 개발 중, 문자가 깨지거나, 컴파일이 안 되는 현상이 있었습니다.

    이에 간단한 해결책을 알아보도록 하겠습니다.

     


     

    컴파일 에러 코드나, 출력 문자열은 경우에 따라 다를 수 있기 때문에 첨부하지 않도록 하겠습니다.

    중요한 것은 한글 인코딩과 관련된 문제라는 것 입니다.

     

    1. Advanced save option

     

    더보기

    Visual Studio의 상단 메뉴에서 Advanced Save Option을 선택합니다.

    이후 나오는 창에서 Encoding을 선택합니다.

    이 때 주로 선택되는 인코딩은 UTF-8입니다.

    VS에서는 다음과 같이 적혀있습니다.

    Unicode (UTF-8 with signature) - Codepage 65001

     

    만약 VS의 File메뉴에 Advanced Save Option이 존재하지 않을 경우, 다음 과정을 통해 추가할 수 있습니다.

     Tools메뉴의 Customize를 선택합니다.

     Command탭의 Menu bar 항목에서 File을 선택합니다.

     이후 Add Command버튼을 클릭합니다.

    File 카테고리에서 Advanced Save Option을 선택한 후 OK버튼을 클릭합니다.

    이러면 Preview에 Advanced Save Option이 생성됩니다.

    생성된 항목을 선택한 후, Move Up 혹은 Down버튼으로 항목의 위치를 지정할 수 있습니다. 

     

    2. EditorConfig

     

    더보기

    EditorCofnig는 다양한 IDE에서 일관된 코딩 스타일을 유지할 수 있도록 지원하는 툴 입니다.

    Visual Studio는 추가적인 인스톨 없이 EditorConfig를 사용할 수 있습니다.

     

    예시로 CPPTutorial이라는 프로젝트를 하나 생성했습니다.

    이 프로젝트의 최상단에 (.sln파일과 같은 위치에) .editorconfig파일을 생성합니다.

    파일 생성은 텍스트 파일을 생성 후, 확장자를 포함한 이름을 변경하는 것으로 충분합니다.

    이후 위와 같이 두 줄의 인수를 추가하면 됩니다.

    구체적으로 각 줄은 다음과 같은 의미를 가지고 있습니다.

    [*] : 해당 프로젝트의 모든 파일에 대해 적용되는 속성입니다. *을 파일 확장자, 파일명 등으로 제한할 수 있습니다.

    charset = utf-8 : 문자 인코딩을 utf-8로 지정한다는 의미입니다.

     

    이 외에도 설정 가능한 여러 값이 존재하며, Visual Studio외에 다른 IDE에서도 사용이 가능합니다.

    자세한 내용은 EditorConfig에 서술되어 있습니다.

    EditorConfig

     

    3. Project Properties

     

    더보기

    이 방법은 언리얼 엔진을 경유한 Visual Studio 개발에서는 사용할 수 없는 것으로 보입니다.

    아래 예시는 모두 일반적인 C++프로젝트의 예시입니다.

    혹 언리얼 프로젝트에 적용하는 방법을 알고 계신다면 조언 부탁드리겠습니다.

     

    Visual Studio의 프로젝트 설정에서 인코딩을 변경하는 방법을 소개합니다.

    메뉴 바의 Project탭에서 {Proejct Name} Properties를 클릭합니다.

    위와 같이 Configuration Properties -> C/C++ -> Command Line 항목으로 이동합니다.

    이 후 Additional Options에 사진처럼 다음과 같은 명령어를 추가합니다.

    /source-charset:utf-8

    이 명령어를 추가함으로써, 해당 프로젝트의 소스 코드의 인코딩을 utf-8로 변경할 수 있습니다.

     

    위와 같이 Property Pages가 정상적으로 열리지 않을 경우, Solution Explorer를 확인해주세요.

     위 사진과 같이 프로젝트 항목이 선택되어야 합니다.

     


     

    문자열 인코딩은 정상적인 출력을 위해서 반드시 검토되어야 하는 항목입니다.

    이번 글에서 알아본 방법 이외에도 다른 방법이 있을 수 있으니, 프로젝트에 맞는 방법을 선택하는 것이 좋겠습니다.

     

    감사합니다.

    댓글

Designed by Tistory.