ArcGIS 10.5 и кодировка

0 голосов
спросил 10 Апр, 17 от XimikadzE (440 баллов) в категории Программные продукты Esri
Доброго времени суток, форумчане! Столкнулся с такой проблемой. Создал проект в ArcgGIS 10.4, затем работал в 10.4.1 и вот теперь добрался до версии 10.5. В связи с некоторыми обстоятельствами, не зависящим от меня, этот проект нужно перетащить на версию 9.3.1. Так при сохранении копии проекта под версию 9.3 и открытии его в ArcGIS 9.3, у русскоязычных надписей в шейпах, созданными инструментами 10.4+, съезжает кодировка и мы можем лицезреть замечательные иероглифы, вместо многим любимой кириллицы. На просторах тырнета и просмотра забугорных сайтов выяснил, что всё из-за того, что начиная с какой-то версии ArcGIS переехал с кодировки 1251 на UTF-8. Как мне теперь победить эту кодировку на версии 9.3? Решение было для версий 10.2+ и выше, но мне не подходит. Мне этим проектом надо будет делиться с коллегами и чтобы они могли его просматривать через Arcreader. Ручками менять кодировку в каждой шейпине - нет большого энтузиазма(( Может я не нашел какую-нибудь галочку в 10.5, чтобы избежать этих танцев с бубном? :) Буду признателен за ответы и советы!

7 Ответы

0 голосов
ответил 10 Апр, 17 от Grigoriy (127,020 баллов)
Для начала создайте для каждого шейп-файлатекстовый файл с расширением cpg.
Т.е. файл имя_шейпа.cpg
Внутрь него поместите одну строку:
UTF-8
Для ArcGIS Desktop 9.3 этого должно быть достаточно.
Для ArcReader 9.3 теоретически тоже.
Если не получиться - придется конвертировать шейп-файлы.
Это можно сделать пакетно:
Класс объектов в шейп-файл
Перед конвертацией:
1. у каждого входного шейп-файла должен присутствовать файл cpg со строкой UTF-8.
2. установить требуемую выходную кодовую страницу в реестре:
http://support.esri.com/technical-article/000013192
3. Выполнить инструмент Класс объектов в шейп-файл
0 голосов
ответил 10 Апр, 17 от Hermine_yan (180 баллов)
У меня почти та же проблема с кодировкой.
Я перевела базу данных со старого пк(версия Windows XP Arcgis10) нановую windows 7 где установила версию Arcgis10.
Все таблицы в порядке как они были в старой.
Проблема вот в чем когда добавляю текст и хочу написать на русском или на армянском( Выбираю Russian phonetic unicode, Armenian phonetic unicode) оно не пишет. Вместо этого оно пишет в кракозябрах. В таблицах если хочу сделать изменение то опять пишет в кракозябрах.
0 голосов
ответил 10 Апр, 17 от Grigoriy (127,020 баллов)

У меня почти та же проблема с кодировкой.
Я перевела базу данных со старого пк(версия Windows XP Arcgis10) на новую windows 7 где установила версию Arcgis10.
Все таблицы в порядке как они были в старой.
Проблема вот в чем когда добавляю текст и хочу написать на русском или на армянском( Выбираю Russian phonetic unicode, Armenian phonetic unicode) оно не пишет. Вместо этого оно пишет в кракозябрах. В таблицах если хочу сделать изменение то опять пишет в кракозябрах.

А просто добавить поддержку русского и армянского языка в операционную систему не пробовали?
И использовать стандартное переключение между языками?
И "база данных" это что? MS SQL Server, Oracle, файловая?
0 голосов
ответил 11 Апр, 17 от XimikadzE (440 баллов)

Для начала создайте для каждого шейп-файла текстовый файл с расширением cpg.
Т.е. файл имя_шейпа.cpg
Внутрь него поместите одну строку:
UTF-8
Для ArcGIS Desktop 9.3 этого должно быть достаточно.
Для ArcReader 9.3 теоретически тоже.
Если не получиться - придется конвертировать шейп-файлы.
Это можно сделать пакетно:
Класс объектов в шейп-файл
Перед конвертацией:
1. у каждого входного шейп-файла должен присутствовать файл cpg со строкой UTF-8.
2. установить требуемую выходную кодовую страницу в реестре:
http://support.esri.com/technical-article/000013192
3. Выполнить инструмент Класс объектов в шейп-файл

Спасибо большое! Иероглифы пропали после добавления файлика *.cpg. Могу заверить, что и в Arcreader'е тоже! :)
0 голосов
ответил 11 Апр, 17 от Hermine_yan (180 баллов)

А просто добавить поддержку русского и армянского языка в операционную систему не пробовали?
И использовать стандартное переключение между языками?
И "база данных" это что? MS SQL Server, Oracle, файловая?
Фонты добавила изменений не получилось. У меня все в Access-еи расширения MDB файл.
0 голосов
ответил 12 Апр, 17 от XimikadzE (440 баллов)

Цитата Григорий Кувшинников
А просто добавить поддержку русского и армянского языка в операционную систему не пробовали?
И использовать стандартное переключение между языками?
И "база данных" это что? MS SQL Server, Oracle, файловая?
Фонты добавила изменений не получилось. У меня все в Access-е и расширения MDB файл.

А если экспортировать из MDB в шейп и по выше описанному алгоритму?
0 голосов
ответил 12 Апр, 17 от Grigoriy (127,020 баллов)

Фонты добавила изменений не получилось. У меня все в Access-е и расширения MDB файл

Попробуйте для начала создать новую файловую базу геоданных - не access, а именно файловую.
Правой кнопкой в ArcCatalog на любой папке на диске -> New -> File Geodatabase
Или инструментом в ArcToolBox:
http://help.arcgis.com/en/arcgisdesktop/10.0/help/#/Create_File_GDB/0017000000pw000000/
В ней создайте новый класс объектов или таблицу с одним текстовым полем.
И попробуйте поредактировать.
Если всё нормально получится, то просто скопируйте Ваши данные из "персональной базы" в файловую.
Если не работает - настраивайте нормально поддержку языка в операционке.
С русским проблем точно не должно быть, с армянским теоретически тоже, но не проверял.
При работе с русским языком ArcGIS при вводе использует кодировку 1251, данные в файловой базе геоданных хранятся в UTF, но отображаться будут в 1251.
Про "Russian phonetic unicode"ArcGIS ничего не знает.
Про "Armenian phonetic unicode", скорее всего, тоже.
Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...