※ 이 문서는 뭐 그냥 하면 되지. ()에서 인쇄하였으며,
저작권은 해당 블로그 운영자에게 있습니다.

AutoIt3Wrapper UTF8 without BOM 오류

/Autoit/AutoIt :: 2011. 8. 29. 12:30

AutoIt3Wrapper UTF8 without BOM 오류

SciTE4AutoIT3가 지난 7월 3일에 업데이트 되었는데요.

AutoIt3Wrapper도 업데이트 되었습니다.

이 이후로 한글이 포함된 문서에서는 구문 오류 검사할 때나 파일을 컴파일할 때 오류가 나오면서 진행이 되지않습니다.

아마도 아래 부분때문에 생기는 문제가 아닌가 추측하고 있습니다.

- Added support for UTF files. (jchd)
- Added #Autoit3Wrapper_compile_both to compile both version of an EXE (x86&x64).
- Added #Autoit3Wrapper_outfile_x64.
- Added %outx64% to the replace variables.

그 동안은 업데이트되기 전 버전의 파일을 사용하면서 문제는 피해갔는데, 나중에 있을 업데이트때도 문제가 해결되지 않으면 계속 구버전을 사용해야해서 이번에 직접 부딪혀보기로 했습니다.

오류의 내용을 보면 UTF8 with BOMUNICODE라는 내용이 나오는데요. 이건 인코딩 형식을 말하는 거죠.

! *********************************************************************************
! * Input file is UTF8 without BOM encoded, Au3Check/Obfuscator do not support UNICODE and will be skipped.     *
! * The file SHOULD BE encoded as UTF8 with BOM to continue processing by AutoIT3Wrapper.                       *
! *    ########################################################    *
! * ##### AutoIt3Wrapper will not show a GUI or update the script to avoid any damage to your scriptfile. ##### *
! *    ########################################################    *
! * When your file isn't a UTF8 file without BOM then please report this to me for review.                      *
! ****************************************************************************
autoit3wrapper 인코딩 오류

Au3Check와 Tidy, Obfuscator에서 UNICODE를 지원하지 않는다고 하는데, 오류가 나는 파일을 AutoIt3Wrapper가 아니라 위 프로그램으로 직접 실행시켜보면 오류가 없이 잘 되거든요.

저는 UTF-8, UNICODE, ANSI에 대해서 정확히 모릅니다. 설명을 읽어봐도 잘 모르겠네요. 하루이틀만에 깨달을 수 있는 것도 아니고 문서 몇 개 본다고 해서 이해할 수 있는 게 아닌 것 같습니다.

File관련 함수와 String 함수로 파일의 인코딩 방식과 문자의 형식도 여러가지로 바꿔봤는데, 안되더라고요.

그래서 어쩔 수 없이 파일의 근본적인 부분이 아니라 꼼수로 오류가 나오지 않도록 했습니다.

수정한 내용

영문 문서가 오류날 때: FileOpen 함수를 이용해서 ANSI 버전으로 파일을 다시 만들고, 새 파일을 문법 검사/컴파일합니다.

한글이 포함된 문서가 오류날 때: 원래는 문서의 글자수와 byte를 비교해서 UTF8 with BOM 인지 검사하는데요. 한글이 포함된 문서일 때는 한글의 글자수만큼을 byte에 더해서 문서의 글자수와 비교하도록 수정했습니다. 그래서 한글이 포함된 문서를 UTF8 with BOM문서로 판단하고 정상적으로 문법검사/컴파일을 진행합니다.

말씀드렸다시피 근원적인 처방이 아니라 꼼수를 사용한 것이고, 파일 인코딩에 대해서 정확하게 이해하고 수정한 것이 아니라서 사용하다 문제가 생길 수도 있으니 이점 유의하세요.

관련글

Autoit으로 단일파일 만들기 2
SciTE4AutoIt3 도움말 우리말 번역본 - SciTE4AutoIt3 AutoIt3Wrapper

블로그의 글과 그림, 첨부파일의 복제, 재배포를 금지합니다. =>  자세히 보기
티스토리 초대장 필요하신 분은 댓글남겨주세요.
give start - 굿네이버스 - 사랑의 열매 - 아름다운재단 - 어린이재단 - 유니세프
굿네이버스 배너
사랑의 열매 배너
아름다운 재단 배너 어린이 재단 배너 유니세프 한국위원회 - 배너