Заметки
GIS page by Evgeniy Storozhenko >>>>> Scripts for ArcView GIS 3.x

Back

Изменение кодировок символьных полей в таблицах
или
Как избавиться от "сикарашек" в ArcView

Если вам приходилось добавлять в Проект ArcView внешние таблицы, созданные например в Excel и содержащие поля с русским текстом, то вероятнее всего вы наблюдали в записях вместо привычного текста серию нечитабельных "сикарашек". Это происходит от того, что таблица была сохранена в приложении, не поддерживающем формат dBase 5.5. Так что возможно в будующем эта проблема исчезнет сама собой. А пока такие программы как Excel записывают текст в кодировке ASCII, тогда как ArcView работает с кодировкой ANSI. Отсюда и рождаются"сикарашки".

Оказывается, разработчики AV предусмотрели решение подобных проблем у пользователей. Заключается оно в задании для нужной рабочей директории определенной кодовой страницы.

Работает это следующим образом. Для примера я создал таблицу в MS Excel 2000 и сохранил ее как My.dbf в директории c:/Proba.


Так таблица выглядит в Excel:
Таблица в Excel
Так таблица выглядит в ArcView GIS 3.x:
Таблица в AV

Теперь необходимо указать AV кодировку для моей рабочей директории Proba. Для этого в окне Проекта из меню File выбираем опцию Code Page Profile, чтобы вывести на экран одноименный диалог. Если опции Code Page Profile в меню File у вас нет, то выполните следующие шаги. Откройте файл STARTUP в директории ETC и добавьте в конец файла следующий код:
av.SetCodepageConvert(true)
Теперь опция Code Page Profile появится в меню File.

Диалог Code Page Profile

В диалоговом окне "Code Page Profile" в поле Directori указываем путь к рабочей папке Proba. Перепробовав разные кодовые страницы в выпадающем списке Code Page, я нашел нужную кодировку - dos866. Кнопка Set закрепляет выбранные настройки.

Используя кнопку Save можно сохранить настройку кодовой страницы для папки Proba во внешнем файле *.dcp. В дальнейшем это позволит загрузить настройку в любой проект ArcView, используя кнопку Load. Если же вы "кликните" кнопку Make Default, выполненные настройки станут настройками по умолчанию и будут использоваться в каждом сеансе AV.

Удалим из проекта таблицу My.dbf и добавим ее снова. Теперь таблица будет выглядеть как положено, что позволяет работать с ней дальше (связывать, присоединять...).

Итоговая таблица
Заметка подготовлена по материалам с сайта www.esricanada.com



Судя по материалам форума на Дата+, в ArcView 3.3 имеются проблемы при работе с установкой кодовой страницы DOS 866.

Предлагается следующее решение проблемы:
1. зайти в каталог ESRI\AV_GIS30\ARCVIEW\locale\codepage
2. сделать копию файла 866.txt и переименовать КОПИЮ в dos866.txt
3. при выборе кодовой страницы - выбирать dos866 (не просто 866)




Если вам необходимо изменить кодировку символьного поля в атрибутивной таблице Темы, можете воспользоваться расширением ta_d2.avx (автор: Александр Панин) , которое можно загрузить с узла http://www.dataplus.ru/Root/Scripts/FView.asp?ScriptID=27.

При работе с расширением в диалоге "Перекодировка поля таблицы атрибутов" выбирается Тема активного Вида, а затем символьное поле атрибутивной таблицы, которое необходимо преобразовать. Операция осуществляется с помощью кнопок DOS->Win и Win->DOS.

Таблица до перекодировки Таблица после перекодировки




GIS page by Evgeniy Storozhenko >>>>> Scripts for ArcView GIS 3.x

Back
Hosted by uCoz