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

GeoServer, проблема с кодировкой

Добавлено: 16 апр 2010, 10:11
taskmgr
Пытаюсь разобраться с геосервером, возникли проблемы с кодировкой семантики шейп-файлов.
Исходные DBF в кодировке 1251 (пробовал и в CP866), при импорте указываю эту кодировку.
При выводе на WMS картинку получаются надписи с апокрифами и тильдами всякими.
Весия сервера 2.0.*, пытался вчера ставить последнюю ночную сборку, не помогло.
Не подскажете, в чем дело или куда копать?

taskmgr
Новоприбывший

Re: GeoServer, проблема с кодировкой

Добавлено: 21 апр 2010, 09:31
oxch
У меня Geoserver работает со слоями, хранящимися в таблицах PostgreSQL.
Кодировка данных в shp-файлах win1251, кодировка в postgresql - utf8.
На сайте с данными работаю через OpenLayers и все хорошо.

В начале страницы указываю кодировку:
<head>
<meta http-equiv="Content-Type" content="text/html" charset="utf-8" />
</head>

главное при выгрузе shp-файлов указать из какой кодировке выгружать.
а shp2sql сам сделает конвертацию данных в кодировку сервера.

Re: GeoServer, проблема с кодировкой

Добавлено: 21 апр 2010, 18:06
taskmgr
Ну, видимо, PostgreSQL выдает правильные данные, а чтение из DBF файлов происходит в GeoServer некорректно.
Когда задается новый источник данных Store типа Shapefile, то у него в свойствах есть charset, но, похоже, что это кодировка самого шейпфайла, а не соответствующего DBF-файла с атрибутами.
Проблему решило бы указание кодировки в стиле, что нибудь вроде такого
<TextSymbolizer>
<Label>
<ogc:PropertyName encoding="cp866">MyDBF_FieldName</ogc:PropertyName>
</Label>
</TextSymbolizer>
Но, к сожалению, не нашел ничего подобного.
А указание кодировки HTML-страницы в тэге <meta> вообще никак не может повлиять на отображаемый растровый рисунок, генерируемый сервером, поэтому в данном случае это точно не поможет.

Re: GeoServer, проблема с кодировкой

Добавлено: 23 апр 2010, 11:21
oxch
в разделе Global Settings Geoserver'а можно указать кодировку в которой он работает.
Если у вас все данные в DBF в одной кодировке, то попробуйте указать её же для
Geoserver'а.

Re: GeoServer, проблема с кодировкой

Добавлено: 23 апр 2010, 12:54
taskmgr
Спасибо, попробую!

Re: GeoServer, проблема с кодировкой

Добавлено: 25 янв 2011, 14:25
bms
Та же проблема.
В Global Settings геосервера стоит charset UTF-8, файл *.dbf был перекодирован из cp1251 в utf-8 c помощью библиотеки dbf2py, как было описано здесь. В QGis шейп открывается в кодировке utf-8 и нет никаких проблем, но геосервер никак не хочет отображать кириллицу. Изначально шейп был создан в QGis из-под винды, геосервер 2.0.2 же работает на linux

Re: GeoServer, проблема с кодировкой

Добавлено: 15 фев 2011, 14:35
demin.eugene
Скорей всего проблема связана с неверной кодировкой установленной в датасорсе или воркплейсе (не помню где точно она ставится)

Re: GeoServer, проблема с кодировкой

Добавлено: 16 фев 2011, 09:10
bms
к сожалению нет, там UTF-8 прописывал сразу же

Re: GeoServer, проблема с кодировкой

Добавлено: 16 фев 2011, 10:31
Mavka
геосервер никак не хочет отображать кириллицу
Попросите у GeoServer по WFS данные и посмотрите в какой они кодировке они на выходе. Определите какие преобразования нужно провести для приведения их в порядок.

Re: GeoServer, проблема с кодировкой

Добавлено: 16 июл 2015, 15:35
Kulikovpavel
У меня тоже возникла эта проблема.
Есть шейп-файлы, dbf в кодировке UTF-8, в Геосервере везде установлена UTF-8, POstgresql - UTF-8
В результате импорта плагином Geoserverа в базу попадает кодировка iso8859-1, и на выходе обратно получается тарабарщина вроде
Непонятно направление кабелей, надо проверить.

Как бороться?
Geoserver через Tomcat7, если это имеет значение.

Я так понял, проблема именно с плагином импорта, потому что если сохранять данные через WFS - всё работает как надо, читает правильно.


Update - тот же плагин на тех же настройках нормально загрузил KML-файл. Значит проблема в плагине импорта и как минимум с shape-файлами. Напишу багрепорт им.

Re: GeoServer, проблема с кодировкой

Добавлено: 21 июл 2015, 07:22
Филиппов Владислав
когда создаёте Хранилище (Store) из шейпов точно есть возможность выбрать кодировку. Дефолтная ISO-8859-1