Vue CLI, Electron에서 실행가능한 Windows BAT 파일 Text Encoding 관련

less than 1 minute read

개발환경

  • 필자는 Vue CLI Plugin Electron Builder를 이용하여 Electron을 개발
  • MacOS 환경에서 Windows OS 구동 프로그램 개발

문제사항

MacOS 환경에서 개발한 프로그램에서 Windows BAT 파일 생성시, Windows에서 실행 안되고 글자가 깨지는 현상 발생

문제의 원인

  • MacOS 와 Windows 환경에서의 사용하는 Text Encoding의 차이로 글자가 깨짐
  • MacOS 개발 환경에서는 UTF-8을 사용하고, Windows CMD(Windows Command Processor)에는 cp949를 기본 Encoding으로 사용한다.
  • Electron 개발시 사용하는 Enter를 이용한 줄바꿈은 EOL(End of Line)을 의미하지 않는다.

해결 방안

  • Windows 환경에 대비하여 BAT 파일 생성시 들어가는 모든 Text는 EUC-KR로 변경해준다. (CP949로 해줘도 되지만, EUC-KR로 코딩해도 충분함) - 참고링크
  • Electron 개발시 줄바꿈은 Enter가 아닌 OS.EOL 를 사용한다 - 참고링크

결론

  1. Windows CMD 용 BAT 개발시 EUC-KR Encoding 사용
  2. 줄바꿈은 Enter쓰지말고 OS.EOL 사용

참고자료