UDig geoserver 中文乱码

在geoserver中使用shp文件作为数据源时,地图标注中很有可能出现乱码的问题。在网上查询发现是geoserver中的geotools插件对中文的支持不是很好,好几个版本都有这个问题。网上的解决办法大部分都是推荐把shp导入到postgreSQL中,但是配置postgreSQL也是个麻烦的问题,而且客户确实只需要显示地图就可以。

经过好几次的尝试,我发现以下步骤可以解决这个问题。

1.shp文件以及shp文件存放的路径都改成英文或者拼音。



2.新建Stores的时候编码方式设置成gbk 或者g2312

1































3.很关键的一步,在uDig中调整地图的样式,某个图层上点击右键—-change style,在simplefeature的label中选择要显示的中文字段,然后set font

这里的字体要选择中文字体,字符集选择Chinese—gb2312  ok。这一步之后在uDig中显示的应该也是汉字了。

image

image



4.还是在刚才的对话框中 选择xml  然后找到 font节点

                       <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:CssParameter name="font-family">宋体</sld:CssParameter>和<sld:CssParameter name="font-weight">bold</sld:CssParameter>都删掉,

然后再检查该xml  不通过的话把出错位置的节点删掉。通过之后把直接复制样式添加到geoserver的style中。   在发布地图服务的时候选择该样式就ok了(注意选择了该样式之后,下面应该显示出该样式的图标)  如图:

image

否则的话 说明sld样式没设置好 需要重新配置!       之后保存发布就可以了。

最后地图效果:

image

你可能感兴趣的:(geoserver)