Forum QGIS

Pełna wersja: Problem z polskimi znakami
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Stron: 1 2 3
Te polskie nazwy to na potrzeby testu - tak było najszybciej.
Ale problem dotyczy również danych w tabelach.
Poza tym teraz zrobiłem inny teścik. Z warstwy zaczytywanej z PostGISa zapisałem kilka obiektów zawierających polskie znaki do SHP. O ile warstwa z bazy wyświetla poprawnie wszystkie znaki, to po zapisaniu do SHP znowu są krzaczki.
Może marne to dla was pocieszenie ale uprzejmie donoszę, że Rezerwaty.shp przesłany przez surykata u mnie ma poprawne polskie znaki w kodowaniu UTF-8 i Qgis 1.8 zainstalowanym na Ubuntu.
Witam
Na problem z polskimi znakami napotkałem już jakiś czas temu przy używaniu wersji Master. Generalnie z tego co wyczytałem nie jest to wina QGIS a sterownika GDAL/OGR. Od wersji 1.9 zmieniono tam sposób określania kodowania plików DBF, teraz jest on pobierany na podstawie tzw. Language Driver ID (LDID). Identyfikator ten jest określony w 29 bajcie pliku DBF. W załączonym pliku 29 bajt ma wartość 0x57, czyli kodowanie ANSI (tutaj jest tabela) a nie UTF.

Jak to obejść? Najprościej - otworzyć plik DBF w LibreOffice, wybrać odpowiednie kodowanie i nadpisać istniejący plik.
Można również ręcznie zmienić 29 bajt pliku DBF na 0x00, zrobiłem skrypt Pythona który to robi, ale nie mam tymczasowo do niego dostępu.

Tutaj jest również opisana metoda z utworzeniem dodatkowego pliku CPG, ale u mnie ona nie działa.

Problem ten był również poruszany na liście mailingowej QGIS w kilku wątkach, ostatnio tutaj.

Chwilowo nie mam dostępu do Linuxa i nie wiem czy problem ten ogranicza się tylko do Windowsa.

Pozdrawiam
Witam po raz pierwszy na forum :-)

Dziękuję za wyjaśnienie że nie jest to problem QGIS ale efekt nowości w GDAL. Zerowanie LDID w przypadku większej liczby plików może być żmudne. Może komuś przyda się programik do zerowania LDID w dbf (niestety tylko pod windowsy). [attachment=146]
Wystarczy dbf'y wrzucić do niego i już LDID nie będzie przeszkadzać.

Pozdrawiam
[quote='grzanka' pid='3442' dateline='1340717314']
Witam po raz pierwszy na forum :-)

Dziękuję za wyjaśnienie że nie jest to problem QGIS ale efekt nowości w GDAL. Zerowanie LDID w przypadku większej liczby plików może być żmudne. Może komuś przyda się programik do zerowania LDID w dbf (niestety tylko pod windowsy).
Wystarczy dbf'y wrzucić do niego i już LDID nie będzie przeszkadzać.

DZIEKI ZA PROGRAMIK
TERAZ WSZYSTKO HULA
Witamy Grzankę :-)

Znalazłem jeszcze jedną metodę, może komuś się przyda. Można ustawić zmienną środowiskową SHAPE_ENCODING na najczęściej używane kodowanie, jak tutaj: http://lists.osgeo.org/pipermail/qgis-us...17938.html

Tymczasem czekamy na rozwiązanie problemu w GDALu.
Ja pracuję w ArcGIS oraz w QGISie. Do jakiegoś czasu problem z błędami kodowania dało się omijać za pomocą instrukcji z artykułu:
http://www.gis-support.pl/qgis-i-arcgis-...shapefile/

Jednak od kiedy przeinstalowałem się na QGISa 1.8.0 pojawiły się na nowo błędy.

Strona kodowa Windowsa (Win 7) to: 852

Bardzo proszę o jakieś wskazówki, bo ta niezgodność zaczyna psuć coraz więcej danych.

pozdrawiam,
MF
W załączniku dodają plik z atrybutami które chciałbym wczytać do Quantum. Niestety u mnie przy kodowaniu UTF-8 oraz cp1250 mam krzaki.
pozdrawiam,
MF
U mnie pomoglo przepuszczenie dbf'a z KODOWANIE_TEST przez wcześniej w tym wątku zamieszczony programik dbfLDIDnull

pozdrawiam
Dobra wiadomość (chyba jeszcze nie mówiłem): w wersji rozwojowej w Opcjach -> Ogólnych przybyło pole "Ignore shapefile encoding". Po zaptaszkowaniu QGIS ignoruje LDIDa i działą dotychczasowy wybór kodowania podczas wczytywania warstwy.
Stron: 1 2 3