Geoserver的Style当字段为中文时该如何过滤
2016-10-09 16:25
134 查看
问题来源
用udig生成的sld文件,导入到geoserver中仍有乱码产生,它能通过检查,而直接用这些乱码去显示,则会变成下载wms文件。(带?的地方就是问题)<?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:UserLayer> <sld:LayerFeatureConstraints> <sld:FeatureTypeConstraint/> </sld:LayerFeatureConstraints> <sld:UserStyle> <sld:Name>Default Styler</sld:Name> <sld:IsDefault>1</sld:IsDefault> <sld:FeatureTypeStyle> <sld:Name>name</sld:Name> <sld:FeatureTypeName>Feature</sld:FeatureTypeName> <sld:SemanticTypeIdentifier>generic:geometry</sld:SemanticTypeIdentifier> <sld:SemanticTypeIdentifier>colorbrewer:unique:brbg</sld:SemanticTypeIdentifier> <sld:Rule> <sld:Name>rule01</sld:Name> <sld:Title>?????</sld:Title> <ogc:Filter> <ogc:PropertyIsEqualTo> <ogc:PropertyName>updater</ogc:PropertyName> <ogc:Literal>?????</ogc:Literal> </ogc:PropertyIsEqualTo> </ogc:Filter> <sld:PolygonSymbolizer> <sld:Fill> <sld:CssParameter name="fill">#BF812D</sld:CssParameter> <sld:CssParameter name="fill-opacity">0.5</sld:CssParameter> </sld:Fill> <sld:Stroke/> </sld:PolygonSymbolizer> </sld:Rule> </sld:FeatureTypeStyle> <sld:FeatureTypeStyle> <sld:Name>simple</sld:Name> <sld:FeatureTypeName>Feature</sld:FeatureTypeName> <sld:SemanticTypeIdentifier>generic:geometry</sld:SemanticTypeIdentifier> <sld:SemanticTypeIdentifier>simple</sld:SemanticTypeIdentifier> <sld:Rule> <sld:TextSymbolizer> <sld:Label> <ogc:PropertyName>updater</ogc:PropertyName> </sld:Label> <sld:Font> <sld:CssParameter name="font-family">@����</sld:CssParameter> <sld:CssParameter name="font-size">12.0</sld:CssParameter> <sld:CssParameter name="font-style">normal</sld:CssParameter> <sld:CssParameter name="font-weight">bold</sld:CssParameter> </sld:Font> <sld:LabelPlacement> <sld:PointPlacement> <sld:AnchorPoint> <sld:AnchorPointX>0.5</sld:AnchorPointX> <sld:AnchorPointY>0.5</sld:AnchorPointY> </sld:AnchorPoint> </sld:PointPlacement> </sld:LabelPlacement> <sld:Fill> <sld:CssParameter name="fill">#000000</sld:CssParameter> </sld:Fill> <sld:VendorOption name="spaceAround">2</sld:VendorOption> </sld:TextSymbolizer> </sld:Rule> </sld:FeatureTypeStyle> </sld:UserStyle> </sld:UserLayer> </sld:StyledLayerDescriptor>
问题解决
经实测及不断排除条件,得到只需将xml的编码改成GBK,同时把乱码改回中文即可。相关文章推荐
- 如何得到数据库中所有表字段及字段中文描述
- 如何判断Oracle字段中是否包含中文的方法
- 如何得到数据库中所有表字段及字段中文描述
- c++ linux 如何把 char* 里面的中文 insert进入mysql(相应的字段为varchar类型)
- Oracle中如何用SQL检测字段是否包括中文字符
- 如何得到数据库中所有表字段及字段中文描述
- 如何得到数据库中所有表名 表字段及字段中文描述
- Oracle中如何用SQL检测字段是否包括中文字符
- 如何判断一个NVARCHAR类型的字段中包含中文
- 如何得到数据库中所有表名,表字段及字段中文描述
- SQLSERVER 中如何正确取出中文字段的长度
- 如何用filter过滤出query的空字段
- 如何得到数据库中所有表字段及字段中文描述
- Oracle中如何用SQL检测字段是否包括中文字符
- MySQL 字段排序如何按中文首字母排序
- 如何判断一个NVARCHAR类型的字段中包含中文(这里只为简体中文)
- 如何获取WSS列表视图的中文字段
- 如何获取WSS列表视图的中文字段
- Oracle中如何用SQL检测字段是否包括中文字符
- 如何得到数据库中所有表名 表字段及字段中文描述