geoserver中style包含中文问题,如字体名称为"宋体"

geoserver的style中一般情况下不要包含中文,但有时候情况特殊,不用中文还不行。

如:点图层要进行自动标注,标注内容肯定是中文,因此在style中要指定字体为“宋体”,可是保存style之后,预览图层,要么提示图层访问失败,要么是弹出一对话框,是要求下载wms文件,而不是显示点图层内容。你即使把style的xml中的encoding设置为utf-8也不起作用,那是指示xml内容的编码,而不是sld文件存储的编码。直接将sld文件全部转为utf-8文件也不行,style编辑器打开之后前几个字符都变乱码了。


因此,为了能让geoserver读取包含中文的sld文件,必须将中文转化为他可以识别的内容,这时候可以将”宋体“这两个汉字转为utf-8编码:\u5B8B\u4F53


1、编码查询可专门下载编码转换软件,或者用ultraedit新建文件,输入汉字,然后另存为,然后保存格式选择最后一项unitcode ascii escape,然后保存,然后用记事本打开文件,可看到汉字utf-8编码。

2、到geoserver的style编辑页面,把中文"宋体"替换为该编码"\u5B8B\u4F53"即可。


如下:

                        <sld:Font>
                            <sld:CssParametername="font-family">\u5B8B\u4F53</sld:CssParameter>
                            <sld:CssParametername="font-size">12.0</sld:CssParameter>
                            <sld:CssParametername="font-style">normal</sld:CssParameter>
                            <sld:CssParametername="font-weight">bold</sld:CssParameter>
                        </sld:Font>

保存后,即可看到标注内容变为中文了。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值