软件环境:Geoserver 2.1.0

UDig 1.2.1

shapfile文件结构:FID                  地物名称      变化图斑                    地物类别            室内解译

测试.33658      测试地址1    HCAC-JK-10-76      居民地构筑物     新增

测试.33598      测试地址2     HCAC-JK-45-79      居民地构筑物     新增

一、uDig打开shapfile文件

(1)Layer--->Add------>Add Data :如下图:

01:Geoserver发布shapfile,中文字段乱码问题-LMLPHP

(2)选择含有中文字段的shapfile文件:

01:Geoserver发布shapfile,中文字段乱码问题-LMLPHP

二、从uDig中获取shp文件的样式

(1)右键单击打开的Change Style

01:Geoserver发布shapfile,中文字段乱码问题-LMLPHP

(2)设置字体,set font

01:Geoserver发布shapfile,中文字段乱码问题-LMLPHP

设置中文字体为宋体,字符集为CHINSE_GB2312

01:Geoserver发布shapfile,中文字段乱码问题-LMLPHP

(3)获取样式XML文件,右侧红框内为Style样式文件

01:Geoserver发布shapfile,中文字段乱码问题-LMLPHP

注:如果shapfile文件里有多个中文字段,或字段值为中文的情况时,要添加

                          <sld:Label>
                            <ogc:PropertyName>字段名称</ogc:PropertyName>
                        </sld:Label>

例如:

<sld:Label>
                           <ogc:PropertyName>地物名称</ogc:PropertyName>
                          <ogc:PropertyName>变化图斑</ogc:PropertyName>
                          <ogc:PropertyName>地物类别</ogc:PropertyName>
                          <ogc:PropertyName>室内解译</ogc:PropertyName>
       </sld:Label>

其他部分不变;

三、Geoserver添加Style样式

打开Geoserver--Style;创建Style,将上面修改过的XML样式文件复制过来,监测可用性

注:如不可用,可试着将“UTF-8”改为“GBK”。

(不知道是个人原因还是都有这个问题,我是修改为GBK编码后才可以使用的)

四、Geoserver发布Shapfile文件,注意一下几点:

(1)Add Store

01:Geoserver发布shapfile,中文字段乱码问题-LMLPHP

(2)选择刚才创建的样式

01:Geoserver发布shapfile,中文字段乱码问题-LMLPHP

05-06 18:07