답변:
원래 DBF 표준은 ISO8859-1 을 사용하고 ISO8859-1 만 사용하도록 정의합니다 . 따라서 표준에 맞는 Shapefile을 얻을 때 ISO8859-1이어야합니다. 물론,이 (매우 오래된) 제한은 오늘날 실제로 사용할 수 없습니다.
ArcGIS 및 Geopublisher, AtlasStyler 및 Geoserver는 표준을 확장하여 인코딩을 정의하기 시작했습니다. 예를 들어 ArcGIS의 경우 다른 Shapefile과 동일한 기본 이름을 가진 .cpg 파일을 생성하고 인코딩 이름으로 채 웁니다.
예를 들어, 텍스트 편집기로 myshape.cpg를 작성하고 "UTF-8"문자 5 개를 삽입 한 후 저장하십시오. 그런 다음 ArcGIS에서 Shapefile을 열면 해당 문자 세트에서 DBF의 텍스트 내용을 읽습니다.
Geoserver : Geoserver WFS는 모든 WFS 레이어를 압축 된 Shapefile로 내보낼 수 있습니다. 이 작업이 완료되면 .cst 파일이 zip 파일에 포함되어 .cpg 파일과 정확히 동일하게 수행됩니다.
주의 :이 모든 것은 열 이름이 아닌 데이터에만 적용됩니다. 다른 프로그램에서 파일을 열 수있게하려면 DBF의 열 이름에 ASCII 만 사용해야합니다.
힌트 : DBF의 인코딩을 변경하려면 OpenOffice Calc.에서 DBF를 엽니 다. 다른 이름으로 저장을 선택합니다. 왼쪽 아래에서 "필터 옵션"을 클릭하고 저장을 누릅니다. 그런 다음 텍스트 내용을 변환 할 인코딩을 정의 할 수 있습니다.
General input/output error
것입니다 . OpenOffice를 사용하든 LibreOffice를 사용하든 문제는 동일합니다.
.cpg
파일은 libgdal 1.9으로도 QGIS에서 잘 작동하도록되어. 때로는 필요한 것 같습니다 : ssrebelious.wordpress.com/2012/03/11/…
"올바른"인코딩이 없다고 확신합니다. .dbf 파일은 어떤 인코딩으로도 가능하며 Shapefile을 열고 알고있는 경우 속성을 올바르게 읽을 수 있습니다.
ESRI 백서는 여기에서 찾을 수 있습니다 : http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf
나는 보통 shapefile이 UTF-8이거나 해당 국가의 로컬 (종종 라틴어 인코딩) 일 것으로 기대합니다.
인코딩에 대한 질문이 있으면 언제든지이 기사를 참조하십시오. http://www.joelonsoftware.com/articles/Unicode.html
그것이 말한대로 :
어떤 인코딩을 사용하는지 모른 채 문자열을 갖는 것은 의미가 없습니다. 더 이상 머리를 모래에 붙일 수 없으며 "일반"텍스트가 ASCII 인 것처럼 가장 할 수 없습니다.
간단한 방법은 shp 파일을 csv 파일로 변환하는 것입니다. enca 또는 iconv를 사용하여 인코딩을 감지하십시오. UTF8 및 gb18030 파일로 시도했지만 작동합니다.