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

geoserver css styling, проблемы с русскими символами

Добавлено: 09 окт 2014, 08:59
Филиппов Владислав
geoserver 2.5 css styling, проблемы с русскими символами в фильтре

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

[@scale < 10000] {
  label: [cadnumber];
  font-family: Lucida Sans Unicode;
  font-fill: black;
  font-size: 11;
  halo-color: white;
  halo-radius: 3;
}
[state <> ''] {
  fill-opacity: 0.3;
  fill: red;
}
[state = 'Учтенный'] {
  fill-opacity: 0.5;
  fill: green;
  stroke: black;
  stroke-width: 0.3;
}
проблема тут [state = 'Учтенный']
если использовать латинские символы или цифры, то работает.
что делать, как решить проблему?

Re: geoserver css styling, проблемы с русскими символами

Добавлено: 09 окт 2014, 09:06
ericsson
А если попробовать в Юникоде?

Re: geoserver css styling, проблемы с русскими символами

Добавлено: 09 окт 2014, 09:14
Филиппов Владислав
А как? Получающийся sld utf-8

[ Сообщение с мобильного устройства ]

Re: geoserver css styling, проблемы с русскими символами

Добавлено: 09 окт 2014, 09:33
Филиппов Владислав
Снимок.PNG
Снимок.PNG (47.33 КБ) 11584 просмотра

а SLD созданный по этим же данным в QGIS, воспринимается Geoserver'ом нормально.

Re: geoserver css styling, проблемы с русскими символами

Добавлено: 09 окт 2014, 12:21
Denis Rykov
Может приложите оба файла - рабочий и нет.

Re: geoserver css styling, проблемы с русскими символами

Добавлено: 09 окт 2014, 12:25
Филиппов Владислав
sld нельзя загрузить, так что в txt
cadastreparcel-qgis.txt
из кугиса
(3.33 КБ) 739 скачиваний
css.txt
(6.09 КБ) 734 скачивания

Re: geoserver css styling, проблемы с русскими символами

Добавлено: 10 ноя 2015, 10:08
vlalexey
С той же проблемой столкнулся

Вопрос:
Что нужно прописать в CSS, что в формируемом по нему SLD стояло

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

<?xml version="1.0" encoding="WIN-1251"?>
( вместо

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

<?xml version="1.0" encoding="UTF-8"?>
)
?

Re: geoserver css styling, проблемы с русскими символами

Добавлено: 10 ноя 2015, 10:10
Филиппов Владислав

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

<?xml version="1.0" encoding="Windows-1251"?>

Re: geoserver css styling, проблемы с русскими символами

Добавлено: 10 ноя 2015, 10:15
vlalexey
Да, "Windows-1251" это и хочется получиться в SLD (опечатался в своем первом сообщении)

Вопрос в том, что прописать в CSS, чтобы в SLD автоматом было "Windows-1251" а не "UTF-8"?

Сейчас по

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

*
{
	stroke: grey;
 }
он мне генерирует

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

<?xml version="1.0" encoding="UTF-8"?><sld:StyledLayerDescriptor xmlns="http://www.opengis.net/sld" xmlns:sld="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc" xmlns:gml="http://www.opengis.net/gml" version="1.0.0">
  <sld:NamedLayer>
    <sld:Name>Default Styler</sld:Name>
    <sld:UserStyle>
      <sld:Name>Default Styler</sld:Name>
      <sld:FeatureTypeStyle>
        <sld:Rule>
          <sld:LineSymbolizer>
            <sld:Stroke>
              <sld:CssParameter name="stroke">#808080</sld:CssParameter>
            </sld:Stroke>
          </sld:LineSymbolizer>
        </sld:Rule>
        <sld:VendorOption name="ruleEvaluation">first</sld:VendorOption>
      </sld:FeatureTypeStyle>
    </sld:UserStyle>
  </sld:NamedLayer>
</sld:StyledLayerDescriptor>
И русские символы в фильтрах полей я использовать не могу..

Re: geoserver css styling, проблемы с русскими символами

Добавлено: 10 ноя 2015, 10:24
Филиппов Владислав
вот тут подсказать не могу. я правлю полученный SLD в последствии руками :(
это не такая частая операция.
скоро будет возможность проверить на GeoServer который на Linux будет, если там всё будет ОК, то на windows-версию я закрою глаза

Re: geoserver css styling, проблемы с русскими символами

Добавлено: 10 ноя 2015, 10:32
vlalexey
я правлю полученный SLD в последствии руками :(
Через веб-интерфейс или напрямую файл на сервере (в data_dir)?

(У меня тоже сервер этот на Windows )

Re: geoserver css styling, проблемы с русскими символами

Добавлено: 10 ноя 2015, 10:37
Филиппов Владислав
можно и файл в datadir/styles/ и через UI

Re: geoserver css styling, проблемы с русскими символами

Добавлено: 10 ноя 2015, 12:24
vlalexey
Да, действительно через такой костыль получается:

1. Открываем в СSS редакторе стиль (CSS), правим его, обновляем - в этом момент генерируется обновленный SLD, но с UTF-8 в зголовке.
2. Сразу же (!) заходим через UI в редактор стилей, открываем соответствующий стиль SLD, заменяем в заголовке UTF-8 на Windows-1251, сохраняем.

Если нужно обновить CSS - то повтоярем 1 и 2.
Если до 2 слой пойдет отдавать по WMS - будет ошибка.

Кто придумает проще - напишите)