카테고리 없음

UTF-8 BOM 제거 - 커맨드라인 배치 (command line batch)

astrobee 2017. 7. 25. 12:42

발단..


운영중인 시스템의 패치 관련하여.. DB 스키마 패치 시..

각 오브젝트별 alter 또는 create 등 DDL, DML 파일들이 생성되면

이 파일들을 순서에 맞춰 머지(merge) 하여 단일 스크립트파일로 만들어 작업자에게 배포..


프로젝트 환경이 UTF-8 이어서 SQL 스크립트 파일도 UTF-8을 준수해야 하는데..

UTF-8 에는 BOM 이라는 만만치 않은 놈이 이슈가 됨


이클립스에서는 BOM 이 없고.. notepad++ 에서는 설정할 수 있고..

문제의 toad MySQL 에서는 BOM 이 붙는다..

머지는 exploer ++ 을 사용하는 환경..


BOM 이 들어 있는 SQL 파일들을 머지하면 통합된 파일을 실행 시 불특정 에러가 발생...


오브젝트별 sql 파일들을 하나하나 notepad++에서 확인하여 BOM 없는 UTF-8 로 인코딩 변경한 후

머지하면 되는 데..

신경도 많이 쓰이고 신경써서 하다가도 놓치는 경우도 있고.. 블라블라 문제가 많음


구글링해서 BOM remover 류 들을 구해봐도... 파일 시작점의 BOM 만 제거해 줌.. 한계..


결국 HEX replace 유틸을 찾게 됨..


Swiss File Knife


유틸하나로 모든 문제 해결됨

대만족...


!!! https://sourceforge.net/projects/swissfileknife/