Como controlar codificações em pgsql2shp?

8

Eu tenho um banco de dados e exportando com pgsql2shp vários shapefiles. Mas quando abro o dbf, os caracteres são exibidos incorretamente. Exemplo: BroeksterwÔld e este deve ser Broeksterwäld.

Provavelmente isso tem a ver com codificação. O banco de dados é UTF-8. Tentei exportar os shapefiles como LATIN1, mas não consigo descobrir como fazê-lo.


ATUALIZAR

Resolvi esse problema adicionando 'set pgclientencoding = latin1' (sem aspas) ao script em lote.

Stefan
fonte
A resposta de Stefan está correta. Em um ambiente Unix / bash, deve ser export PGCLIENTENCODING=LATIN1. Letras maiúsculas são obrigatórias, pelo menos no meu ambiente (Mac OS X 10.10.1 e PostgreSQL 9.3).
Thomaskonrad
Isso deveria ter sido um comentário contra a outra resposta, não uma nova resposta.
BradHards

Respostas:

4

Resolvi esse problema adicionando 'set pgclientencoding = latin1' (sem aspas) ao script em lote.

Stefan
fonte
3

Existe a opção -W para pgsql2shp que permite especificar a codificação. Você também pode definir a variável de ambiente PGCLIENTENCODING. A maioria dos conjuntos de dados da CBS holandesa ou da holandesa Kadaster vem na codificação CP1252, não na Latin1.

Edward Mac Gillavry
fonte
1
Obrigado! Eu acredito que a opção -W só funciona no shp 2 postgres e infelizmente não no postgres 2 shp. Tentei definir a variável de ambiente PGCLIENTENCODING, mas não tenho certeza se faço isso corretamente. O que eu preciso definir é por variáveis ​​do sistema e, em seguida, pela variável 'PGCLIENTENCODING' (sem aspas) e pelo valor 'Latin1' ou 'CP1252' (sem aspas). E como eu escrevo o comando pgsql2shp então. Assim: pgsql2shp.exe -f folder -h .. -p .. -u ... -P .. -g geometrie .., ou preciso adicionar algo. Obrigado pela ajuda!
Stefan
0

Qual você está usando para visualizar o shapefile? Se você usar o QGIS, ele permitirá que você selecione a codificação do shapefile e poderá salvá-lo com a nova codificação. Veja também aqui

mapoholic
fonte
Obrigado pela resposta. Mas eu gostaria de colocar a codificação em um script que eu tenho. Porque existem 60 exportações de shapefile todos os meses. Não quero alterar manualmente a codificação todos os meses para cada arquivo. Você talvez conhece uma maneira de colocá-lo em um script.
9138 Stefan