Vue CLI, Electron에서 실행가능한 Windows BAT 파일 Text Encoding 관련
개발환경
- 필자는 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 를 사용한다 - 참고링크
결론
- Windows CMD 용 BAT 개발시 EUC-KR Encoding 사용
- 줄바꿈은 Enter쓰지말고 OS.EOL 사용