Страница 1 из 1

MapServer и русские имена файлов и атрибутов.

Добавлено: 18 май 2011, 17:07
Tokha
Установлен mapserver 5.6.6 на WINDOWS.

Проблема в том, что mapserver не находит файлы с русскими именами, которые указаны в MAP-файле.
Также не видит поля на русском языке в таблицах MapInfo.
С отображением LABEL на русском проблем нет, если что. (CP1251)

Ясно, что где-то надо указать кодировку. Но ничего не нашел, ни в документации, ни в поиске.
Временно решил проблему переводом имен в транслит, но это не вариант, т.к. карты MapInfo делаю не я и они будут меняться.

Направьте на путь истинный, пожалуйста! :)

Re: MapServer и русские имена файлов и атрибутов.

Добавлено: 19 май 2011, 17:53
Tokha
Я некорректно вопрос задал или у всех имена полей и файлов по-нормальному сделаны, без использования русских букв? :)

Обновился до mapserver 6. Все красивенько, но с доступом к объектам тоже самое, естественно.
Должен же быть какой-то выход?

Частный случай проблемы:

В map-файле, если писать

Код: Выделить всё

LABELITEM "Название"
, то ругается на имя "Название".

А если в слоях MapInfo вместо "Название" сделать, например "Name" и
в map-файле написать

Код: Выделить всё

LABELITEM "Name"
, то все прекрасно работает.

Можно пройтись по всем слоям Mapinfo и переименовать поля, но слоев очень много и это не наш метод. Хочется в причине разобраться.

Re: MapServer и русские имена файлов и атрибутов.

Добавлено: 19 май 2011, 21:48
Максим Дубинин
ENCODING пробовали?
http://mapserver.org/mapfile/labelencod ... elencoding

+ поиск по форуму по ENCODING явно должен дать наводки. Хотя с именами полей не уверен.

Re: MapServer и русские имена файлов и атрибутов.

Добавлено: 19 май 2011, 22:19
Tokha
Максим Дубинин писал(а):ENCODING пробовали?
Да, конечно! Без этого не отображаются русские символы.

Код: Выделить всё

      LABEL
            ...
            ENCODING CP1251
      END
И шрифты поменял, естественно.

Но это, к сожалению, не влияет на доступ к объектам с русскими именами. По слову ENCODING сразу и начал поиск, но ничего не нашел. Что-то помнится, когда искал информацию не связанную с кодировками, случайно промелькнул англоязычный форум на котором была похожая проблема и там предлагалось перекомпилировать mapserver с поддержкой нужной кодировки. Поскольку, тогда мне это было не нужно, то читать тему не стал. Хотя, возможно, там о другом речь шла.

Вопрос открыт...

Хм, вот сейчас вспомнил, что когда экспериментировал с GetFutureInfo из OpenLayers, то информация от mapserver тоже поступала в неправильной кодировке, хотя должна быть в 1251, но тогда это было не важно и не заострил внимания на этом вопросе. Завтра попробую повторить.

Re: MapServer и русские имена файлов и атрибутов.

Добавлено: 20 май 2011, 23:19
Mavka
Единственное что проверил - ESRI Shapefile с русским именем файла работает нормально (названия полей dbf не позволяет создать на русском).

Re: MapServer и русские имена файлов и атрибутов.

Добавлено: 01 июн 2011, 10:21
Tokha
Частично разобрался.

1. Русские имена файлов так и не видит. Все перепробовал, что в голову пришло. Даже map-файл в разных кодировках сохранял. Но это ладно, файлы переименовать транслитом не сложно.

2. Зато решил вопрос с русскими названиями полей. Банальная невнимательность :). Оказалось, что важен регистр букв. Все просто.

3. С ответом GetFutureInfo тоже проблем не возникло. Вот так:

Код: Выделить всё

  WEB
	  .....
	  METADATA
	  	.....
	  	wms_encoding               CP1251
	  END   

PS А вот с шестой версией mapserver пришлось опять спрыгнуть на пятую :(, т.к. возникла проблема с плагином msplugin_mssql2008.dll. Не хочет загружаться. Из-за MSVCP90.dll, видимо. И обновления разные ставил и Visual C++ поставил, ничего не помогает.

Re: MapServer и русские имена файлов и атрибутов.

Добавлено: 01 июн 2011, 18:31
Mavka
Можно еще создать жесткие ссылки на файлы на уровне файловой системы
Получится файл с русским именем и его представитель с английской фамилией