Страница 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 грузит в память сразу весь шейп целиком, а всякие манипуляции с кодировками и проекциями, которые в диалоге свойств слоя, производит над уже загруженными данными