Страница 1 из 1
кодировка shp
Добавлено: 04 мар 2018, 22:22
kasandra
Доброго дня,
Думаю задаю очень простой вопрос, но пока не нашла решения для себя.
Вместо русских букв отображаются символы в таблице атрибутов shp-файла, кодировку в ручном режиме пробовала подобрать не получилось, онлайн декодер в подборе кодировки (по содержимому dbf файла) тоже не помог.
Возможно ли подобрать/узнать кодировку?
Re: кодировка shp
Добавлено: 04 мар 2018, 22:58
trir
можно, .cpg
Re: кодировка shp
Добавлено: 05 мар 2018, 10:06
Игорь Лебедь
Пришлите снимок экрана с кракозябрами, а если не жалко - файл dbf. Наиболее распространённые варианты: UTF-8, Win1251 (System), CP866
Re: кодировка shp
Добавлено: 06 мар 2018, 18:29
kasandra
Не жалко, прилагаю один из файлов
Но меня интересует в целом пути решения, так как файлов таких много и ситуации встречаються.
Re: кодировка shp
Добавлено: 06 мар 2018, 19:11
Игорь Белов
Файл DBF в архиве повреждён:
- заголовок забит мусором; его длина избыточна, три байта лишние;
- в реестре полей пробелы вместо нулей;
- сам текст выглядит как результат двойного перекодирования в юникод: три байта на символ кириллицы; я бы не взялся за восстановление.
Re: кодировка shp
Добавлено: 13 июл 2022, 14:11
gamm
уважаемые коллеги, просветите, как разработчикам QGIS удалось добиться следующих удивительных результатов:
1) имеется shape файл, кодировка в dbf - 1251, файла cpg нет (потому что rgdal::writeOGR из R его не пишет).
2) если добавить этот shape файл как слой в QGIS, то вместо русских букв - кракозябры. Пробовал на форме указать все разумные варианты из списка - Automatic, cp1251, win1251, windows-1251, ...) - не помогает
3) если создать файл cpg, а в нем написать 1251, то открывает нормально, русские буквы видно.
Re: кодировка shp
Добавлено: 14 июл 2022, 08:07
Ivor
gamm, подозреваю, при чтении файла QGis берёт кодировку из заголовка DBF (а R туда запросто какое-нибудь ISO вписал), соответственно символы изначально прочтены неправильно и указание другой кодировки ситуацию не спасает. А если есть файл cpg, тогда QGis игнорирует кодировку в заголовке DBF и читает символы верно
Re: кодировка shp
Добавлено: 14 июл 2022, 11:06
gamm
Ivor писал(а): ↑14 июл 2022, 08:07
а R туда запросто какое-нибудь ISO вписал
судя по периодической ругани, что не смог преобразовать UTF-8 в какое-то ISO с длинным номером, похоже на правду. Но тогда Automatic должно работать, у QGIS список кодировок длинный, и разные ISO там есть. Загадка, однако

Re: кодировка shp
Добавлено: 14 июл 2022, 11:10
trir
скорее это глюк ogr
Re: кодировка shp
Добавлено: 14 июл 2022, 12:44
Ivor
gamm, Automatic работать не сможет, ибо символы изначально читаются в неверной кодировке. Если он изначально прочитал текст win-1251 как iso-8859-1, то ни автоматика, ни ручное выставление уже не поможет - они работают с уже прочитанным текстом. Это работа для Штирлица (помните, была такая программулина?).
А предварительного выбора кодировки при чтении шейпов в QGis не встроили...
P.S. Как я понимаю, QGis грузит в память сразу весь шейп целиком, а всякие манипуляции с кодировками и проекциями, которые в диалоге свойств слоя, производит над уже загруженными данными