1

I am creating some new style with Postman. The main problem is that the new style was created with Unicode problem. It means I am seeing the new style has some character that are not Unicode.

URL : http://localhost:8090/geoserver/rest/workspaces/webgis/styles
HTTP Post
<?xml version="1.0" encoding="UTF-8"?>
<StyledLayerDescriptor version="1.0.0" xmlns="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc"
 xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://www.opengis.net/sld http://schemas.opengis.net/sld/1.0.0/StyledLayerDescriptor.xsd">
 <NamedLayer>
<Name>export_output8464daf0723</Name>
<UserStyle>
<Title>export_output8464daf071</Title>
<Name>export_output8464daf0732</Name>
 <FeatureTypeStyle>
 <Rule>
 <Name>export_output8464daf071_site_name_1</Name>
 <Title>export_output8464daf071_site_name_1_تپه قورچی</Title>
 <ogc:Filter>
 <ogc:PropertyIsEqualTo>
 <ogc:PropertyName>site_name</ogc:PropertyName>
 <ogc:Literal>تست</ogc:Literal>
 </ogc:PropertyIsEqualTo>
 </ogc:Filter>
 <PointSymbolizer>
 <Graphic>
 <Mark>
 <WellKnownName>circle</WellKnownName>
 <Fill>
 <CssParameter name="fill">#bd8321</CssParameter>
 </Fill>
 </Mark>
 <Size>2</Size>
 </Graphic>
 </PointSymbolizer>
 </Rule>
 </FeatureTypeStyle>
</UserStyle>
 </NamedLayer>
</StyledLayerDescriptor>

and Content type is :

application/vnd.ogc.sld+xml

Style in GeoServer is :

<?xml version="1.0" encoding="UTF-8"?><sld:StyledLayerDescriptor xmlns="http://www.opengis.net/sld" xmlns:sld="http://www.opengis.net/sld" xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc" version="1.0.0">
 <sld:NamedLayer>
 <sld:Name>export_output8464daf0732</sld:Name>
 <sld:UserStyle>
 <sld:Name>export_output8464daf0732</sld:Name>
 <sld:Title>export_output8464daf071</sld:Title>
 <sld:FeatureTypeStyle>
 <sld:Name>name</sld:Name>
 <sld:Rule>
 <sld:Name>export_output8464daf071_site_name_1</sld:Name>
 <sld:Title>export_output8464daf071_site_name_1_ط·ع3⁄4ط ̧آ3⁄4ط ̧â€، ط ̧â€ڑط ̧ث†ط·آ±ط1†ط؛إ’</sld:Title>
 <ogc:Filter>
 <ogc:PropertyIsEqualTo>
 <ogc:PropertyName>site_name</ogc:PropertyName>
 <ogc:Literal>ط·ع3⁄4ط·آ3ط·ع3⁄4</ogc:Literal>
 </ogc:PropertyIsEqualTo>
 </ogc:Filter>
 <sld:PointSymbolizer>
 <sld:Graphic>
 <sld:Mark>
 <sld:WellKnownName>circle</sld:WellKnownName>
 <sld:Fill>
 <sld:CssParameter name="fill">#bd8321</sld:CssParameter>
 </sld:Fill>
 </sld:Mark>
 <sld:Size>2</sld:Size>
 </sld:Graphic>
 </sld:PointSymbolizer>
 </sld:Rule>
 </sld:FeatureTypeStyle>
 </sld:UserStyle>
 </sld:NamedLayer>
</sld:StyledLayerDescriptor>
Vince
20.5k16 gold badges49 silver badges65 bronze badges
asked Aug 11, 2020 at 20:26
4
  • On my Ubuntu 20.04 box this works fine with curl and both ascii and binary data options. Are you on a windows machine by any chance? Commented Aug 12, 2020 at 8:03
  • @IanTurton Thank you . Yes it is windows server ... Commented Aug 12, 2020 at 10:45
  • try "application/vnd.ogc.sld+xml;charset=UTF-8" as the content-type Commented Aug 12, 2020 at 12:57
  • I did it but the result is same :-( Commented Aug 12, 2020 at 16:07

1 Answer 1

2

After a lot of googling , I understood Java on windows does NOT support Unicode output by default. As we know, GeoServer made by JAVA too, so we have to do some stuff for fixing this issue.

1. Add this variable to your System Environment Variable.

JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8 

2. Open CMD (RUN AS Administrator) and run this command

C:\WINDOWS\system32>chcp 65001

and you will see this message : Active code page: 65001

Point 1 : Do not forget to restart your computer or 1 - close your explorer and open it and then 2 - restart you GeoServer service from Services.

Point 2 : Your XML should be start with :

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

Point 3 : You do not need to add charset=UTF-8 in end of Content-Type. So you can set to :

Content-Type=application/vnd.ogc.sld+xml
answered Aug 14, 2020 at 5:58

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.