2023년 3월 24일 정보 갱신:
QGIS 가장 최신 LTR(Long Term Release) 버전인 3.28.4부터 Encoding에서 ms949를 선택해 DXF를 내보내시면 한글 깨지는 문제가 해결됩니다. ms949나 cp949나 이름만 다른 사실상 같은 한글 인코딩 방식입니다. 따라서 더 이상 아래 방식을 사용하지 마시고 가장 최신 QGIS를 사용하시기 바랍니다.
***********************************
안녕하세요?
본 글에서는 QGIS 3.20.x 버전 이후 [프로젝트를 DXF로 내보내기] 메뉴에서 CP949 인코딩이 사라지는 문제를 우회적으로 해결하는 방법을 설명합니다. 이런 현상이 나타나게 된 기술적 원인과 해결에 대해서는 이 글과 별도로 QGIS 재단측과 논의할 예정입니다.
여기에서 다루는 문제는 QGIS의 [프로젝트를 DXF로 내보내기]에서 발생하는 한글 인코딩 사라짐현상에 관한 것으로 한정합니다. QGIS에서 속성값이 ??? 같이 깨지는 문제는 그냥 레이어 속성에서 인코딩을 EUC-KR, MS949, CP949 등을 선택해 주면 해결됩니다. |
1. 해결 방법
1.1 과거 버전 설치
https://download.qgis.org/downloads/ 에 접속하면 과거의 QGIS 설치 파일을 내려받을 수 있습니다. 이중 exe로 끝나는 가장 최근 버전을 다시 설치하면 됩니다. 다만, 꼭 exe로 끝나는 설치파일만을 설치하시기 바랍니다. msi 버전의 설치 파일에서는 역시 CP949가 사라집니다. 현재 QGIS 저장소의 exe 설치 파일 중 가장 최근 파일인 QGIS-OSGeo4W-3.18.3-1-Setup-x86_64.exe 파일을 설치할 것을 권해 드립니다.
msi 버전이 아닌 exe 버전의 QGIS 3.18.3 버전을 설치하고서 해당 메뉴를 살펴보면 아래와 같이 CP949가 나타남을 확인할 수 있습니다.
1.2 최신 버전의 QGIS DLL 직접 고치기
QGIS DLL을 직접 수정해 QGIS 최신 버전의 모든 기능을 마음껏 쓰면서 CP949 인코딩을 추가하는 방법입니다. 이 작업이 그닥 어렵고 위험한 작업이 아닙니다만 우선 qgis_core.dll 원본을 안전한 곳에 잘 백업해 둡니다. 이는 수정한 qgis_core.dll에 문제가 생길 경우를 대비하기 위함입니다. qgis_core.dll은 보통 QGIS 설치 폴더 밑 apps\qgis\bin 폴더에 있습니다. QGIS 3.26 같은 경우 C:\Program Files\QGIS 3.26.0\apps\qgis\bin입니다.
- qgis_core.dll의 편집을 위해 [다운로드] 폴더 같은 곳으로 복사합니다.
- Be.HexEditor(https://sourceforge.net/projects/hexbox/) 같은 Hex Editor를 설치합니다. 참고로 Be.HexEditor는 별도의 설치 과정이 필요 없으며 bin 폴더 밑의 Be.HexEditor.exe를 바로 실행하면 됩니다.
- HexEditor로 qgis_core.dll을 열면 아래와 같은 화면을 볼 수 있습니다.
- 여기서 Ctrl+F로 CP949를 찾으면 아래와 같습니다. 좌측의 Hexa값에는 43 50 39 34 39을 보실 수 있을 것이고, 우측 문자열에서는 CP949를 보실 수 있습니다.
- 여기에서 우측 화면 문자열 CP를 바로 ms로 덮어써서 ms949가 되도록 입력합니다. 그러면 좌측 헥사값이 6D 73 39 34 39로 자동으로 변경될 것입니다.
- 이렇게 변경된 qgis_core.dll을 저장하고 원래 있던 apps\qgis\bin 폴더에 덮어쓰면 됩니다. 이후 QGIS를 실행하면 아래와 같이 [프로젝트를 DXF로 내보내기]에 ms949라는 인코딩이 뜨며 이걸 이용해 DXF를 내보내면 한글이 안 깨지고 잘 나가게 됩니다.
2. 향후 계획
앞서 설명한 방법은 임시적 방법으로 근원적인 해결책이 되지 못 합니다. QGIS 재단과 이 문제에 대해 논의하여 빨리 근원적으로 문제가 해결되도록 시도하겠습니다.
감사합니다.
2022년 7월 16일
신상희
덧붙여) 이글은 OSGeo 한국어 지부 블로그에도 함께 게시합니다.
'공간정보와 IT > Open Source GIS' 카테고리의 다른 글
FOSS4G-Asia 2023 Call for Sponsors - 후원 기관 모집 안내 (1) | 2023.06.08 |
---|---|
FOSS4G 2023 Prizren 조직위의 메시지를 보다가... (0) | 2023.06.06 |
QGIS 3.28 버전 사용자지침서 등 한국어로 번역 완료 (0) | 2023.05.27 |
FOSS4G-Asia 2023 Call for Presentations(CfP) (0) | 2023.05.07 |
가이아쓰리디, FOSS4G 2023 Prizren 대회에서 5건의 발표 진행 예정 (0) | 2023.04.04 |
대한공간정보학회 추계학술대회, FOSS4G-Asia와 함께 개최 (0) | 2023.03.11 |
FOSS4G 2023 Prizren 발표자 선정 투표 중 (0) | 2023.03.11 |
FOSS4G 2023 Prizren 대회 발표자 모집 2월 28일까지 연기 (0) | 2023.02.20 |
Updates on FOSS4G Asia 2023 (0) | 2023.02.18 |
중소기업 오픈소스GIS 공동 교육 (0) | 2022.12.27 |