Geoserver自定义图层样式二
1.中文乱码
使用TextSymbolizer节点,可以对图层进行标注。
1 |
|
在现实标注的时候,如果出现了中文,就可能会乱码。我尝试了以下的几种方式,都不起作用。
(1) sld文件的编码格式,即xml头部的encoding,
(2) 数据源的编码格式
(3) 使用本地的geoserver发布图层,使用同样的sld,结果都是可以生成中文标注的。
最后显示的样式为就用方框代替了。

本地部署的同样版本的geoserver显示的中文标注

(4) jvm可用字体
经过我查找资料,发现了在在菜单栏上,点击服务器状态,找到可用字体,显示可用字体列表,发现了竟然没有SimSum字体,也没有宋体和微软雅黑等,所以我猜测是因为这样才无法显示中文字体,需要先安装字体。

最后的解决方法
下载SimSun.ttf字体文件
新建chinese目录
1
2
3
4## 新建目录
mkdir /usr/share/fonts/chinese
## 新建字体命令
sudo mkfontdir /usr/share/fonts/chinese将下载好的字体上传到服务器/usr/share/fonts/chinese目录
进入chinese目录,执行字体加载命令
1
2
3
4
5
6
7## 这一步有错可以忽略
sudo mkfontscale
## 没有命令的话安装:yum install fontconfig
## 没有命令的话安装:yum install mkfontscale
sudo fc-cache
## 查看安装的字体
sudo fc-list重启geoserver,新建字体之后,记得要重写启动geoserver,否则字体无法加载
1.利用geotools生成点线面和注记的sld样式(二)
2.GeoServer style中文乱码解决方法 (主要讲了三点)
3.Geoserver SLD stylesheets - what does “se” namespace mean? (sld和se的区别)
4.1.4. IV. SLD-图层样式描述¶
5.Geoserver中文字体乱码解决方法 (这里给我提供了一个新的思路,就是查看jvm可用字体)
6.GeoServer乱码解决 (在服务器状态->可用字体这里面又可以使用的字体,还写了如何上传以及安装字体,可以尝试一下)