Jakie kodowanie znaków jest używane przez plik dbf w plikach kształtów? Wygląda na to, że jest obsługiwany inaczej, w zależności od programu i lokalnych ustawień kodowania maszyny. Które kodowanie jest „właściwe” - określone dla formatu?
Jakie kodowanie znaków jest używane przez plik dbf w plikach kształtów? Wygląda na to, że jest obsługiwany inaczej, w zależności od programu i lokalnych ustawień kodowania maszyny. Które kodowanie jest „właściwe” - określone dla formatu?
Odpowiedzi:
Oryginalny standard DBF definiuje użycie ISO8859-1 i tylko ISO8859-1. Tak więc, gdy otrzymasz plik Shapefile, który jest naprawdę zgodny ze standardami, powinien to być ISO8859-1. Oczywiście, to (bardzo stare) ograniczenie nie jest obecnie zbyt użyteczne.
ArcGIS i Geopublisher, AtlasStyler i Geoserver rozpoczęły rozszerzanie standardu w celu zdefiniowania kodowania. W przypadku ArcGIS np. Po prostu utwórz plik .cpg (o tej samej nazwie basename co inne pliki Shapefile) i wypełnij go nazwą kodowania.
np. utwórz plik myshape.cpg z edytorem tekstu i wstaw 5 znaków „UTF-8” i zapisz go. Jeśli następnie otworzysz plik Shapefile w ArcGIS, odczytuje on tekstową zawartość DBF w tym zestawie znaków.
Geoserver: Geoserver WFS może eksportować dowolną warstwę WFS jako spakowany plik Shapefile. Po wykonaniu tej czynności plik .cst jest zawarty w pliku zip, zachowując się dokładnie tak samo, jak plik .cpg.
Uwaga: wszystko to dotyczy tylko danych, a nie nazw kolumn. Naprawdę powinieneś używać ASCII tylko w nazwach kolumn DBF, jeśli chcesz, aby plik można było otwierać za pomocą innych programów.
Wskazówka: Aby zmienić kodowanie pliku DBF, otwórz go za pomocą OpenOffice Calc .. wybierz SaveAs ... kliknij „Opcje filtrów” w lewym dolnym rogu i naciśnij Zapisz. Następnie możesz zdefiniować kodowanie, na które ma zostać przekonwertowana zawartość tekstowa.
General input/output error
, prawdopodobnie nie masz zainstalowanej bazy . Problem jest taki sam, niezależnie od tego, czy korzystasz z OpenOffice czy LibreOffice.
.cpg
Plik ma pracować dobrze w QGIS, też, jak z libgdal 1,9. Czasami wydaje się to nawet konieczne: ssrebelious.wordpress.com/2012/03/11/…
Jestem prawie pewien, że nie ma „właściwego” kodowania. Plik .dbf może mieć dowolne kodowanie. Będziesz mógł otworzyć plik Shapefile i poprawnie odczytać atrybuty, jeśli go znasz.
Białą księgę ESRI można znaleźć tutaj: http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf
Zwykle spodziewam się, że plik kształtu będzie albo UTF-8, albo lokalny w kraju objętym programem (często niektóre kodowanie łacińskie).
Za każdym razem, gdy pojawia się pytanie o kodowanie, odsyłam ludzi do tego artykułu: http://www.joelonsoftware.com/articles/Unicode.html
Jak mówi:
Nie ma sensu mieć łańcucha bez znajomości używanego kodowania. Nie możesz już trzymać głowy w piasku i udawać, że „zwykły” tekst to ASCII.
Prostym sposobem jest konwersja pliku shp do pliku csv. I użyj enca lub iconv do wykrycia kodowania. Próbowałem z plikami UTF8 i gb18030 i działa.