본문 바로가기
Develop/NSIS

[NSIS] HM NIS Edit 한글 깨짐 오류 해결 방법

by KyungHoon 2024. 1. 23.

 현재 회사에서 NSIS를 통해 Windows 설치파일을 만드는 작업이 필요한 경우, NSIS 스크립트 작성 후 Github Actions로 설치 파일을 생성하고 AWS S3에 배포를 자동화하고 있습니다. 그런데 NSIS 스크립트를 작성할 때 한글 사용이 필요하여 한글 사용 후 완성된 설치 파일을 실행했을 때 그 결과물을 확인해 보면 가끔씩 한글이 깨질 때가 있었습니다.

 

그전에 NSIS는 스크립트 기반으로 동작하는 Windows용 설치 시스템으로, HM NIS Edit 프로그램 또는 VS Code, 메모장 등에서 작성 및 편집이 가능합니다. 설치 파일 생성은 HM NIS Edit or VS Code에서 만들 수 있습니다.

 

HM NIS Edit 프로그램으로 스크립트를 작성하거나 편집 후 해당 스크립트 파일을 저장하고 파일(. nsi)의 인코딩을 확인해 보면 항상 ANSI로 지정되어 있는 것을 확인할 수 있습니다. 다른 편집기 툴 또는 프로그램에서 인코딩을 변경 후 다시 HM NIS Edit에서 저장하게 되면 항상 ANSI로 지정됩니다.

 

만약 해당 파일에서 한글을 사용했고 해당 파일을 VS Code에서 열게 되면 한글이 모두 깨져있는 상태로 보이게 됩니다. 이 상태에서 VS Code에서 깨진 한글을 다시 새롭게 입력 후 저장하거나, UTF-8, EUC-KR 등으로 인코딩 변환 후 HM NIS Edit 프로그램에서 열게 되면 새롭게 작성한 한글이 다시 깨져 보이게 됩니다.

 

물론 HM NIS Edit 프로그램에서 직접 설치 파일을 추출하게 될  때에는 결과물의 한글이 깨지지 않습니다. 그러나 매번 해당 설치 파일을 수동으로 추출할 수는 없기에 자동화가 필요했습니다. 하지만 Github Actions를 이용하여 설치 파일을 추출했을 때 인코딩과 관계없이 그 결과물의 한글이 항상 깨지는 현상이 있어 이 현상을 해결되어야 했습니다.

 

UTF-8(BOM) 인코딩 사용

 

 

의외로 방법은 되게 간단했는데요 HM NIS Edit이던, VS Code 던, 메모장이던 한글을 사용했을 때 모든 스크립트 작업이 끝난 이후 파일의 인코딩을 UTF-8(BOM)으로 변환해 주면 Github Actions를 통해 추출되는 설치 파일 결과물의 한글도 정상적으로 표기가 되는 것을 확인하실 수 있습니다.

댓글