2023년 3월 24일 정보 업데이트:
QGIS의 최신 LTR(Long Term Release) 버전, 3.28.4부터 인코딩에서 ms949를 선택하여 DXF를 내보낼 때 한글이 깨지는 문제가 수정되었습니다.것이 가능하다. ms949나 cp949와 거의 같은 한글 인코딩 방식이고 이름만 다릅니다. 따라서 아래의 방법은 사용을 중지하시고 최신 QGIS를 사용하시기 바랍니다.
************************************************** ********************************
안녕하세요?
이 기사에서 QGIS 버전 3.20.x 메뉴(DXF로 프로젝트 내보내기)에서 CP949 인코딩이 사라집니다.간접적인 방법으로 해결하는 방법을 설명합니다. 이 현상에 대한 기술적 원인과 해결책은 QGIS 재단과 함께 이 문서에서 별도로 논의됩니다.
첫 번째 솔루션
1.1 이전 버전 설치
https://download.qgis.org/downloads/ 를 클릭하면 이전 QGIS 설치 파일을 다운로드할 수 있습니다. Double exe 확장자로 최신 버전을 다시 설치하십시오. 그러나 반드시 exe로 끝나는 설치 파일만 설치제발. msi 버전 설치 파일에서도 CP949가 사라집니다. 현재 QGIS 저장소의 최신 exe 설치 파일인 QGIS-OSGeo4W-3.18.3-1-Setup-x86_64.exe 파일을 설치하는 것이 좋습니다.
MSI 버전이 아닙니다. QGIS 3.18.3의 exe 버전을 설치하고 메뉴를 보면 아래와 같이 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/) 동일한 16진수 편집기를 설치합니다. 참고로 Be.HexEditor는 별도의 설치 과정이 필요 없으며, bin 폴더에 있는 Be.HexEditor.exe를 실행하면 됩니다.
- HexEditor로 qgis_core.dll을 열면 다음과 같은 화면을 볼 수 있습니다.
- 여기에서 Ctrl+F로 CP949를 찾으면 다음과 같이 표시됩니다. 왼쪽의 16진수 값에 43 50 39 34 39가 표시되고 오른쪽 문자열에 CP949가 표시됩니다.
- 여기 오른쪽 화면 문자열 CP를 ms로 직접 덮어쓰면 ms949가 됩니다.그러면 왼쪽 16진수 값이 자동으로 6D 73 39 34 39로 변경됩니다.
- 수정된 qgis_core.dll을 저장하고 원래 apps\qgis\bin 폴더에 덮어씁니다. 그 후 QGIS를 실행하면 아래와 같이 (프로젝트를 DXF로 내보내기) ms949라는 인코딩이 뜨는데 그걸로 DXF를 내보내면 한글이 깨지지 않고 잘 나옵니다.
2. 향후 계획
위의 방법은 일시적인 방법으로 근본적인 해결책이 될 수 없습니다. 우리는 이 문제를 QGIS 재단과 논의하고 가능한 한 빨리 문제를 해결하도록 노력할 것입니다.
감사해요
OSGeo 한국 지부
신상희