midas+son의 크리에이티브(creative) 이야기

unreal 4.16.1로 HTML5 패키징 테스트 마무리 단계에 왔다.


다국어 지원을 위한 한글과 영어의 텍스트들을

cpp내에서 특정 배열로 저장해 컨트롤 하는 부분이 있었는데

TEXT("한글") 처럼 한글을 지정한 부분에서

HTML5 패키징 시에만 에러가 발생했다.(PIE 중에는 에러 없음)


여러가지 테스트를 해봤는데

정리도 못할 만큼 갖가지 시도를 해봐서

결과, 조치 방법만 알려주겠다.

(Window용으로는 문제 없는데 HTML5 패키징 때에만 발생한 문제임을 다시한번 강조한다.)


한글 Win OS(64bit), Unreal 4, Visual Studio 2015 기본 설정 기준으로

cpp를 생성해 작성하면 그 파일의 인코딩은 자동 EUC-KR로 되어있다.


한글 처리해야 하는 cpp를 

인코딩 변환이 되는 문서편집기(필자는 notepad++ 사용)를 이용하여

UTF-8-BOM 으로 인코딩을 바꾸고 저장한다.

그냥 UTF-8로는 안되더라. 

(BOM의 유무 차이에 대한건 각자 구글에 검색해보자.)


UTF-8-BOM으로 바꾸고 나서 파일을 저장한 뒤

Visual Studio 에서 다시 보면 한글이 깨져 있을 수 있다.

cpp파일을 안닫고 변환해서 그렇다. 

그 상태로 다시 cpp를 저장하면 이전 인코딩으로 돌아가 버린다.

Visual Studio 통체로 끌 필요 없이 열려진 cpp파일만 닫고

UTF-8-BOM으로 바꾸고 저장한 뒤 

Visual Studio에서 cpp파일을 열면 된다.

혹시 계속 문제가 있다면 notepad++에 있는 안깨진 한글 부분을 복사에 

Visual Studio에서 붙여넣기 하면

UTF-8-BOM 포맷을 유지하며 붙여넣어진다.

cpp저장 후 notepad++에서 갱신해서 파일 인코딩을 계속 확인하자.


이제 Rebuild 하고 언리얼 PIE로 테스트 먼저해보자.

이는 확인 절차로 HTML5 패키징이 오래 걸려 혹시 모를 문제에 대비하는 것이다.

혹시 한글이 ??????로 나오면 cpp 인코딩이 잘못됐거나 TEXT("")나 L""이 안 붙어있는 것이다.


PIE에서 잘되면 HTML5 패키징을 해보자.

HTML5 패키징은 시간이 오래 걸리니 인내심을 가지자.

에러가 없이 빌드가 됐으면 Tomcat에도 띄워서 테스트 해보자.

에러가 있으면 다시 한번 인코딩을 확인해보자.


cpp에서 지정했던 한글이 제대로 나오면 굿!!!