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>

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





版权声明:本文为wxljmy原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。