모두의 프린터와 모두의 PDF 둘다 해당되는 공통 문제라 글 하나 남깁니다.
제가 현재 배포중이 모든 프로그램은 기본적으로 Go라는 언어로 개발을 하는 중입니다. 최근 사용되는 대부분의 개발용 언어들 같이 Go언어도 UTF-8 을 기본으로 동작합니다.
최근 대부분의 OS들은 UTF-8을 기본 문자 인코딩으로 사용하고 vscode 등의 IDE들도 대부분 UTF-8을 사용합니다만, 마이크로스프트의 윈도라는 OS는 기본적으로 UTF-16을 기본 유니코드 인코딩으로 사용합니다.
그렇다 보니 윈도, 리눅스, 맥등을 동일 코드로 빌드가 가능한 Go언어 같은 개발언어는 일반적으로 MS윈도의 파일 시스템은 UTF-16 또는 ANSI(CP-949)로 동작할 것이다~ 라~ 고 치고 돌아갑니다.일반적으로 ANSI or UTF-16 이 두가지 케이스 인게 일반적이라고 Fix 시킨 상태로 돌아간다는 거죠 ..
그런데 ..
언젠가 부터 윈도의 국가 또는 지역 설정에

“Beta: 세계 언어 지원을 위해 Unicode UTF-8 사용” 이라는 옵션이 슬쩍 추가되었습니다. 이게 추가된지는 꽤 오래 된걸로 아는데 여전히 Beta네요 ㅋㅋ
몇몇 사용자들 중에는 한글윈도 임에도 지역을 미국이나 언어를 영어로 하거나 영문 윈도를 설치하고 언어를 한글, 지역을 한국으로 하거나 하는 식으로 해서 사용하시는 분들이 계시는데요.. 일반적으로 언어, 지역을 변경해서 쓰는 분들이 아니면 저 화면을 볼일 조차 없는게 정상입니다.
그럼에도 불구하고 국가, 언어 설정을 하는 와중에 “세계 언어 지원을 위해~”라고 하고 요즘 UTF-8 을 대부분 쓴다 하니 체크하는게 좋겠구나~ 하고 이걸 체크하고 쓰시는 경우가 생깁니다.
이 옵션이 체크되어 있으면 발생하는 문제는 ..
모두의 프린터, 모두의 PDF를 개발하는데 사용한 Go언어 런타입에선 MS 윈도의 파일시스템에서 다뤄지는 문자인코딩은 당연히 UTF-16또는 ANSI(CP949)일테니 이를 UTF-8로 변환하여 처리한 뒤 다시 UTF-16 or ANSI(CP949)로 변환하여 출력하자~ 라고 동작을 해버립니다.
그런데 저 옵션이 체크가 되어 있으면 윈도에서 UTF-8을 사용해 버리니까 이미 UTF-8 인 데이터를 다시 변환을 하니 데이터가 깨져버리는 문제가 발생합니다.
실제 문제가 발생하는 원인은 좀더 있긴 한데 .. 너무 딥한 개발이야기라 ㅎㅎ 각설하구요.
모두의 프린터의 경우 Downloads 폴더 또는 모두의 프린터 실행파일과 같은 경로에 Ghostscript, GhostPCL 파일이 있으면 자동으로 인식을 합니다만 만약 위 옵션이 켜져 있는 경우엔 멀쩡히 탐색기에서 확인되는 파일을 모두의 프린터에선 인식을 못하는 문제가 발생할 수 있습니다.
모두의 PDF의 경우에는 파일 변환이 완료 되었다는데 실제로는 결과 데이터가 존재하지 않는 문제가 발생할 수 있습니다.
특히 파일 경로에 알파벳이 아닌 한글이나 특수문자가 포함되는 경우엔 더더욱 이 문제가 발생 가능합니다.

시작버튼을 누른뒤 국가 또는 지역으로 검색하면 국가 또는 지역 제어판을 열 수 있습니다.

관리자 옵션 탭을 선택합니다.

시스템 로캘 변경 버튼을 클릭 합니다.

만약 이렇게 “Beta: 세계 언어 지원을 위해 Unicode UTF-8 사용” 이 체크되어 있으면 체크를 푼뒤 확인 버튼을 클릭해서 적용하십시요.
파일명 , 경로등과 관련된 대부분의 문제는 이 설정이 켜져 있어서 발생하는 경우가 많았고, 이것저것 다 확인을 해봐도 문제가 발생되는 경우 대부분 이 옵션을 해제한 뒤에 해결된 경우가 많았습니다.
특별한 이유 없이 특정 경로의 파일을 다루는데만 문제가 있는경우 이 옵션을 확인하시기 바랍니다.
댓글을 달려면 로그인해야 합니다.