Trong tổ chức của chúng tôi, chúng tôi xử lý nội dung GIS theo các định dạng tệp khác nhau. Tôi cần phải đưa những tập tin này vào một cơ sở dữ liệu PostGIS, và điều đó được thực hiện bằng cách sử dụng ogr2ogr. Vấn đề là, cơ sở dữ liệu được mã hóa UTF8 và các tệp có thể có một mã hóa khác.Sự cố mã hóa với cơ sở dữ liệu ogr2ogr và Postgis/PostgreSQL
Tôi đã tìm thấy các mô tả về cách tôi có thể chỉ định mã hóa bằng cách thêm thông số tùy chọn vào org2ogr, nhưng lại không có hiệu lực.
ogr2ogr -f PostgreSQL PG:"host=localhost user=username dbname=dbname \
password=password options='-c client_encoding=latin1'" sourcefile;
Các lỗi tôi nhận được là:
ERROR 1: ALTER TABLE "soer_vd" ADD COLUMN "målsætning" CHAR(10) ERROR: invalid byte sequence for encoding "UTF8": 0xe56c73 HINT: This error can also happen if the byte sequence does not match the encoding expected by the server, which is controlled by "client_encoding". ERROR 1: ALTER TABLE "soer_vd" ADD COLUMN "påvirkning" CHAR(10) ERROR: invalid byte sequence for encoding "UTF8": 0xe57669 HINT: This error can also happen if the byte sequence does not match the encoding expected by the server, which is controlled by "client_encoding". ERROR 1: INSERT command for new feature failed. ERROR: invalid byte sequence for encoding "UTF8": 0xf8 HINT: This error can also happen if the byte sequence does not match the encoding expected by the server, which is controlled by "client_encoding".
Hiện nay, tập tin nguồn của tôi là một tập tin Shape và tôi khá chắc chắn, rằng nó được latin1 mã hóa.
Tôi đang làm gì sai ở đây và bạn có thể giúp tôi không?
Trân trọng, Casper
Tôi đã thử cả client_encoding và PGCLIENTENCODING để chọn một lược đồ mã hóa. Không ai trong số họ giải quyết được vấn đề của tôi. Vì tôi chưa tìm được cách xác định mã hóa ký tự chính xác của các tệp hình dạng của mình, tôi đã thử LATIN1, LATIN9, WIN1250 và WIN1252, nhưng vẫn không thành công. Vẫn đang tìm kiếm biểu tượng để làm việc ... – Chau