1.7.4 - слои открываются только в кодировке UTF-8
- SS_Rebelious
- Гуру
- Сообщения: 1304
- Зарегистрирован: 24 фев 2009, 16:51
- Репутация: 99
- Ваше звание: GIS pro-fan
- Откуда: Lahti / Газ-ПУТИНбург
- Контактная информация:
1.7.4 - слои открываются только в кодировке UTF-8
Только что обновился до 1.7.4. Не важно, какая кодировка указывается при открытии слоя, в свойствах слоя выставляется UTF-8. При попытке выставить нужную кодировку в свойствах слоя, она всё-равно сбрасывается на UTF-8.
openSUSE
openSUSE
Look for something long enough, and you will find it. Look for something without understanding, and it will find you...
"All paid jobs absorb and degrade the mind." Aristotle
If you take 1 step towards freedom it'll take 2 steps towards you!
"All paid jobs absorb and degrade the mind." Aristotle
If you take 1 step towards freedom it'll take 2 steps towards you!
- rhot
- Гуру
- Сообщения: 1727
- Зарегистрирован: 25 янв 2011, 17:50
- Репутация: 194
- Ваше звание: доктор
- Откуда: Архангельск
Re: 1.7.4 - слои открываются только в кодировке UTF-8
Только что хотел обновиться с 1.7.3 до 1.7.4. Не буду пока
___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________
-
- Гуру
- Сообщения: 2627
- Зарегистрирован: 29 мар 2007, 14:12
- Репутация: 34
- Откуда: Ukraine
Re: 1.7.4 - слои открываются только в кодировке UTF-8
А теперь версию GDAL в студию. Мои скромные способности телепата говорят, что используется GDAL 1.9.0. Если это так, то претензии не совсем по адресу.SS_Rebelious писал(а):Только что обновился до 1.7.4. Не важно, какая кодировка указывается при открытии слоя, в свойствах слоя выставляется UTF-8. При попытке выставить нужную кодировку в свойствах слоя, она всё-равно сбрасывается на UTF-8.
-
- Гуру
- Сообщения: 2627
- Зарегистрирован: 29 мар 2007, 14:12
- Репутация: 34
- Откуда: Ukraine
Re: 1.7.4 - слои открываются только в кодировке UTF-8
Да, не подтверждаю на Windows и Linux.
- rhot
- Гуру
- Сообщения: 1727
- Зарегистрирован: 25 янв 2011, 17:50
- Репутация: 194
- Ваше звание: доктор
- Откуда: Архангельск
Re: 1.7.4 - слои открываются только в кодировке UTF-8
у меня вообще версия gdal 1.8.0
=D
=D
___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________
-
- Гуру
- Сообщения: 2627
- Зарегистрирован: 29 мар 2007, 14:12
- Репутация: 34
- Откуда: Ukraine
Re: 1.7.4 - слои открываются только в кодировке UTF-8
Ну и обновляйтесь себе. Нет там таких ужасов.rhot писал(а):у меня вообще версия gdal 1.8.0
- SS_Rebelious
- Гуру
- Сообщения: 1304
- Зарегистрирован: 24 фев 2009, 16:51
- Репутация: 99
- Ваше звание: GIS pro-fan
- Откуда: Lahti / Газ-ПУТИНбург
- Контактная информация:
Re: 1.7.4 - слои открываются только в кодировке UTF-8
Извиняюсь, что выпал на какое-то время из дискуссии.
Voltron, ты в своём блоге пишешь про GDAL 1.9:
Мне, как не программисту не очевидна односторонняя вина GDAL. С точки зрения простого пользователя это QGIS не адаптировался к новой версии GDAL: ведь, нет никаких предупреждений или сообщений о возможных ошибках при работе в связке QGIS и GDAL 1.9... Официально нигде не говорится, что для адекватной работы QGIS надо использовать GDAL не новее 1.8.1...
А вообще, я был бы очень признателен небольшому разъяснению о будущем взаимодействии QGIS и GDAL>1.9 по части работы с кодировками: сколько месяцев уйдёт на утряску и будет ли эта проблема решена (решается ли она)? Или 1.8.1 - последний релиз GDAL, который будет адекватно работать с кодировкой?
Voltron, ты в своём блоге пишешь про GDAL 1.9:
Мои шейпы создавались в QGIS, отсюда я могу сделать вывод, что некорректная работа с кодировкой возникла в результате того, что QGIS не записал тип кодировки в заголовок dbf. Если так, то наверное следует переименовать топик в "QGIS не подписывает тип кодировки shp-файла"?Еще одним шагом стала реализация перекодирования атрибутов shape-файла в UTF-8 при чтении, и из UTF-8 при записи. Только вот... кодировка определяется путем считывания LDID (Language Driver ID) из заголовка DBF. Вобщем-то это правильный подход, только что-то я не припомню когда в последний раз видел шейпы с корректно указанной кодировкой.
Мне, как не программисту не очевидна односторонняя вина GDAL. С точки зрения простого пользователя это QGIS не адаптировался к новой версии GDAL: ведь, нет никаких предупреждений или сообщений о возможных ошибках при работе в связке QGIS и GDAL 1.9... Официально нигде не говорится, что для адекватной работы QGIS надо использовать GDAL не новее 1.8.1...
А вообще, я был бы очень признателен небольшому разъяснению о будущем взаимодействии QGIS и GDAL>1.9 по части работы с кодировками: сколько месяцев уйдёт на утряску и будет ли эта проблема решена (решается ли она)? Или 1.8.1 - последний релиз GDAL, который будет адекватно работать с кодировкой?
Look for something long enough, and you will find it. Look for something without understanding, and it will find you...
"All paid jobs absorb and degrade the mind." Aristotle
If you take 1 step towards freedom it'll take 2 steps towards you!
"All paid jobs absorb and degrade the mind." Aristotle
If you take 1 step towards freedom it'll take 2 steps towards you!
-
- Гуру
- Сообщения: 2627
- Зарегистрирован: 29 мар 2007, 14:12
- Репутация: 34
- Откуда: Ukraine
Re: 1.7.4 - слои открываются только в кодировке UTF-8
Да, QGIS не пишет LDID в DBF при создании шейпа, об этом уже сообщали в #4343. Закрыть баг можно, но проблему это решит только частично (об этом ниже). GDAL же по умолчанию пишет LDID/87 (Default), хотя ИМХО логичнее было бы писать системную кодировку.SS_Rebelious писал(а):Мои шейпы создавались в QGIS, отсюда я могу сделать вывод, что некорректная работа с кодировкой возникла в результате того, что QGIS не записал тип кодировки в заголовок dbf. Если так, то наверное следует переименовать топик в "QGIS не подписывает тип кодировки shp-файла"?
Так проблем со связкой QGIS + GDAL 1.9 нет, если DBF содержит правильный LDID или если используется кодировка Latin-1.SS_Rebelious писал(а):Мне, как не программисту не очевидна односторонняя вина GDAL. С точки зрения простого пользователя это QGIS не адаптировался к новой версии GDAL: ведь, нет никаких предупреждений или сообщений о возможных ошибках при работе в связке QGIS и GDAL 1.9... Официально нигде не говорится, что для адекватной работы QGIS надо использовать GDAL не новее 1.8.1...
Вообще, здесь есть несколько интересных вопросов.
- когда создавался стандарт DBF про unicode во всех его проявлениях никто не слышал и даже не предполагал, что когда-нибудь нечто такое появится. Поэтому среди существующих кодов LDID utf-8 просто нет и уже врядли будет. Именно по этой причине, исправление #4343 решит проблему лишь отчасти.
- выходом могло бы быть использование файлов .cpg, в которых указывается кодировка атрибутивных данных. НО! В GDAL по каким-то причинам поддержки .cpg нет и, судя по всему, не предвидится. Лично мне это кажется неправильным.
- поддержку файлов .cpg можно реализовать уровнем выше, в той же QGIS (насколько понял, именно на это надо и ориентироваться, хотя, опять же ИМХО, это не правильно). Правда, здесь возникает вопрос приоритетов: что важнее LDID или .cpg?
- создание .cpg надо предусмотреть и при сохранении shape-файлов
Нострадамус из меня неважный . Могу сказать только, что когда-нибудь проблема будет решена. Скорее всего, это случится после перехода OSGeo4W на GDAL 1.9, когда многие пользователи столкнутся с данной проблемой и поднимется шум. Пару раз я сам думал покопаться во всем этом и попробовать исправить, но руки так и не дошли. Если ничего срочного не свалится, попробую все же заняться. Если это случится, возможно, исправление появится чуть быстрее.SS_Rebelious писал(а):А вообще, я был бы очень признателен небольшому разъяснению о будущем взаимодействии QGIS и GDAL>1.9 по части работы с кодировками: сколько месяцев уйдёт на утряску и будет ли эта проблема решена (решается ли она)? Или 1.8.1 - последний релиз GDAL, который будет адекватно работать с кодировкой?
В качестве временного костыля можно принудительно указывать GDAL кодировку шейпов через переменную SHAPE_ENCODING
- SS_Rebelious
- Гуру
- Сообщения: 1304
- Зарегистрирован: 24 фев 2009, 16:51
- Репутация: 99
- Ваше звание: GIS pro-fan
- Откуда: Lahti / Газ-ПУТИНбург
- Контактная информация:
Re: 1.7.4 - слои открываются только в кодировке UTF-8
Спасибо за разъяснения!
Немного поэкспериментировав, выяснил, что shp-файлы, имеющие .cpg с правильно указанной кодировкой работают нормально. Кажется, самое простое решение - создание .cpg при создании нового shp-файла, а также принудительное создание .cgp при открытии шейпа у которого .cgp отсутствует (на основании LDID (если есть) или сведений о кодировке, предоставляемых пользователем в диалоге открытия слоя ).
Что касается приоритетов LDID и .cpg, то я предлагаю следующее:
1. Переделать диалог открытия слоя таким образом, что если кодировка файла указана в либо в LDID либо в .cpg, то у пользователя не было бы нужды выбирать кодировку вручную, а в выпадающем списке сразу выставлялась бы нужная, и сообщалось бы (рядом с выпадающим списком кодировки) на основе чего выставлена такая кодировка.
2. Если есть и LDID, и .cpg и в них указаны разные кодировки, то выдавалось бы предупреждение, что кодировка LDID не совпадает с кодировкой, указанной в .cpg (и указывалось бы, какая кодировка где указана). Тогда не имеет значения, какая из кодировок выставится по умолчанию - пользователь будет знать, что если не подошла одна - он выберет другую. В свойствах слоя в этом случае можно было бы добавить опцию перезаписать LDID/.cgp в соответствии со значением, выбранным пользователем при открытии файла.
Немного поэкспериментировав, выяснил, что shp-файлы, имеющие .cpg с правильно указанной кодировкой работают нормально. Кажется, самое простое решение - создание .cpg при создании нового shp-файла, а также принудительное создание .cgp при открытии шейпа у которого .cgp отсутствует (на основании LDID (если есть) или сведений о кодировке, предоставляемых пользователем в диалоге открытия слоя ).
Что касается приоритетов LDID и .cpg, то я предлагаю следующее:
1. Переделать диалог открытия слоя таким образом, что если кодировка файла указана в либо в LDID либо в .cpg, то у пользователя не было бы нужды выбирать кодировку вручную, а в выпадающем списке сразу выставлялась бы нужная, и сообщалось бы (рядом с выпадающим списком кодировки) на основе чего выставлена такая кодировка.
2. Если есть и LDID, и .cpg и в них указаны разные кодировки, то выдавалось бы предупреждение, что кодировка LDID не совпадает с кодировкой, указанной в .cpg (и указывалось бы, какая кодировка где указана). Тогда не имеет значения, какая из кодировок выставится по умолчанию - пользователь будет знать, что если не подошла одна - он выберет другую. В свойствах слоя в этом случае можно было бы добавить опцию перезаписать LDID/.cgp в соответствии со значением, выбранным пользователем при открытии файла.
Look for something long enough, and you will find it. Look for something without understanding, and it will find you...
"All paid jobs absorb and degrade the mind." Aristotle
If you take 1 step towards freedom it'll take 2 steps towards you!
"All paid jobs absorb and degrade the mind." Aristotle
If you take 1 step towards freedom it'll take 2 steps towards you!
-
- Новоприбывший
- Сообщения: 2
- Зарегистрирован: 19 мар 2012, 14:52
- Репутация: 0
Re: 1.7.4 - слои открываются только в кодировке UTF-8
Проблема все еще остается..
Печаль
Печаль
-
- Гуру
- Сообщения: 2627
- Зарегистрирован: 29 мар 2007, 14:12
- Репутация: 34
- Откуда: Ukraine
Re: 1.7.4 - слои открываются только в кодировке UTF-8
Логично, ведь этим никто не занимался.
-
- Гуру
- Сообщения: 920
- Зарегистрирован: 30 дек 2008, 14:11
- Репутация: 236
- Откуда: Ханты-Мансийск
- Контактная информация:
Re: 1.7.4 - слои открываются только в кодировке UTF-8
Давно не имел дело с кириллицей в атрибутах, а тут срочно понадобилось и вот я в тут
А что прописывать в *.cpg если шейпа создавались в QGIS под Windows и стояла кодировка CP-1251?
Пробовал писать:
CP-1251
CP 1251
1251
CP1251
Так ничего и не добился.
(QGIS-1.9.90, GDAL 1.9, Win XP)
А что прописывать в *.cpg если шейпа создавались в QGIS под Windows и стояла кодировка CP-1251?
Пробовал писать:
CP-1251
CP 1251
1251
CP1251
Так ничего и не добился.
(QGIS-1.9.90, GDAL 1.9, Win XP)
- SS_Rebelious
- Гуру
- Сообщения: 1304
- Зарегистрирован: 24 фев 2009, 16:51
- Репутация: 99
- Ваше звание: GIS pro-fan
- Откуда: Lahti / Газ-ПУТИНбург
- Контактная информация:
Re: 1.7.4 - слои открываются только в кодировке UTF-8
попробуй: Windows-1251bolotoved писал(а):А что прописывать в *.cpg
Look for something long enough, and you will find it. Look for something without understanding, and it will find you...
"All paid jobs absorb and degrade the mind." Aristotle
If you take 1 step towards freedom it'll take 2 steps towards you!
"All paid jobs absorb and degrade the mind." Aristotle
If you take 1 step towards freedom it'll take 2 steps towards you!
-
- Гуру
- Сообщения: 920
- Зарегистрирован: 30 дек 2008, 14:11
- Репутация: 236
- Откуда: Ханты-Мансийск
- Контактная информация:
Re: 1.7.4 - слои открываются только в кодировке UTF-8
Не хочет ни в каком варианте:
windows-1251
windows 1251
Windows-1251
Windows 1251
windows-1251
windows 1251
Windows-1251
Windows 1251
-
- Новоприбывший
- Сообщения: 14
- Зарегистрирован: 27 апр 2012, 12:55
- Репутация: 1
- Откуда: Москва
Re: 1.7.4 - слои открываются только в кодировке UTF-8
Работаю с QGIS несколько месяцев в Linux и Windows. В Linux Mint 9 все нормально, а в Windows 7 после последнего обновления в слоях только UTF-8. Над картами работало несколько человек (у всех Windows 7), а теперь работа стоит.Только что обновился до 1.7.4. Не важно, какая кодировка указывается при открытии слоя, в свойствах слоя выставляется UTF-8. При попытке выставить нужную кодировку в свойствах слоя, она всё-равно сбрасывается на UTF-8.
Может быть уже решил кто-нибудь проблему?
Установка из OSGeo4W даже откатить версию не дает...
Замечено:
При создании нового слоя в 1251 имя объекта появляется, но если перезапустить программу или отключить-подключить слой, кодировка слоя возвращается в UTF-8.
Версия QGIS 1.9.90-Alpha Ревизия 5b2ef2b
28.04.2012
Параллельно с 1.9.9 поставили 1.7.1 (сохранился дистрибутив), Кодировка системная нормальная...
Последний раз редактировалось beard 28 апр 2012, 12:31, всего редактировалось 1 раз.
Никогда не поздно, если еще не рано...
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 8 гостей