Проблемы с русскими буквами GDAL

Не знаете, где задать вопрос? Задавайте здесь.
Ответить
hairzamanov_ii
Новоприбывший
Сообщения: 3
Зарегистрирован: 17 сен 2020, 08:30
Репутация: 0
Ваше звание: Ilgiz
Откуда: Сургут

Проблемы с русскими буквами GDAL

Сообщение hairzamanov_ii » 17 сен 2020, 09:52

Здравствуйте.
Возникают проблемы при попытках переименовать название полей таблицы с помощью GDAL.
Изначально название полей на английском, а нужно задать русскими буквами.
При попытках переименовать, вместо русских букв, пишутся крякозябры.
Вот пример:
(Сначала задаю кодировку cp1251 для cmd, в GDAL выключаю UTF-8, для клиента PostGree тоже задаю cp1251, и скачиваю таблицу с базы данных, сохраняю в формате mapinfo. Поля которые содержат русские буквы, скачиваются в нормальном виде, при таких настройках.)

Код: Выделить всё

C:\Users\Public\Desktop\OSGeo4W>chcp 1251
Текущая кодовая страница: 1251

C:\Users\Public\Desktop\OSGeo4W>Set GDAL_FILENAME_IS_UTF8=no

C:\Users\Public\Desktop\OSGeo4W>SET PGCLIENTENCODING=Windows-1251

C:\Users\Public\Desktop\OSGeo4W>ogr2ogr -f "MapInfo File" f:\zd_soor\zd_soor.tab PG:"host=192.168.111.132 user=admin dbname=Base SCHEMAS=cartograph password=kart" zd_soor

C:\Users\Public\Desktop\OSGeo4W>ogrinfo f:\zd_soor\zd_soor.tab -sql "alter table zd_soor rename column type to 'тип'"
INFO: Open of `f:\zd_soor\zd_soor.tab'
      using driver `MapInfo File' successful.
Warning 502: Field name ''тип'' contains invalid characters. '_С_Р_Р__' will be used instead.
Затем попробовал поменять кодировки, т.к. GDAL использует кодировку UTF8:

Код: Выделить всё

C:\Users\Public\Desktop\OSGeo4W>chcp 65001
Active code page: 65001

C:\Users\Public\Desktop\OSGeo4W>SET PGCLIENTENCODING=UTF8

C:\Users\Public\Desktop\OSGeo4W>Set GDAL_FILENAME_IS_UTF8=YES

C:\Users\Public\Desktop\OSGeo4W>ogrinfo f:\zd_soor\zd_soor.tab -sql "alter table zd_soor rename column year to 'год'"
INFO: Open of `f:\zd_soor\zd_soor.tab'
      using driver `MapInfo File' successful.
Warning 502: Field name ''год'' contains invalid characters. '_____' will be used instead.
Но, все равно не может переименовать в нормальном виде.
Можно ли решить данную проблему, может кто сталкивался? Помогите пожалуйста.

Boris
Гуру
Сообщения: 4205
Зарегистрирован: 10 апр 2006, 22:34
Репутация: 433
Откуда: Париж

Re: Проблемы с русскими буквами GDAL

Сообщение Boris » 25 фев 2021, 17:32

Задача совершенно не понятна - вам где названия нужны? В какой программе?

gamm
Гуру
Сообщения: 4046
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1050
Ваше звание: программист
Откуда: Казань

Re: Проблемы с русскими буквами GDAL

Сообщение gamm » 25 фев 2021, 20:57

Использование русских букв в именах полей - верный путь к большим и неожиданным проблемам. Поверьте 40 летнему опыту :mrgreen:

trir
Гуру
Сообщения: 5278
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1014
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Проблемы с русскими буквами GDAL

Сообщение trir » 26 фев 2021, 10:51

проверка

Ответить

Вернуться в «Я новичок!»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 6 гостей