GeoServer添加要素图层的SLD样式文件以及中文乱码相关解决方案

首先上传shapefile文件到geoserver上,然后发布,这一步很常用。 发布的这个是没有设置样式的,

之后将该图层添加到QGIS里,配置该图层的样式,可以添加一些标注:

之后右击图层,导出SLD样式文件

打开geoserver,新建一个样式style,匹配对应的图层,输入sld文件(或者直接导入也可以),结果如下:

可以看到,中文注解没有显示到图层上,接下来就是本文章的重点了。 出现这个的原因是因为geoserver里可用的字体里没有兼容中文的

所以我们要将自己计算机上的中文字体复制到geoserver里去。 具体步骤(以geoserver的docker为例) 先进入geoserver容器内:

bash 复制代码
docker exec -it geoserver /bin/bash

根据docker数据卷映射挂载的相关原理,先将自己电脑上的宋体文件复制到geoserver的数据目录下:

然后将字体文件复制到容器内的/usr/share/fonts/truetype/这个路径下

bash 复制代码
-- 处于容器内获取数据的文件目录下
cp SIMSUN.TTC /usr/share/fonts/truetype/  

之后刷新字体缓存,然后重启geoserver容器

复制代码
fc-cache -fv
docker restart geoserver

重新打开geoserver可以看到geoserver里有了宋体

然后修改SLD文件里的字体为宋体

保存查看就可以看到图层的标注为中文。

相关推荐
爱学习的程序媛1 小时前
【Web前端】JavaScript设计模式全解析
前端·javascript·设计模式·web
小码哥_常1 小时前
从SharedPreferences到DataStore:Android存储进化之路
前端
老黑1 小时前
开源工具 AIDA:给 AI 辅助开发加一个数据采集层,让 AI 从错误中自动学习(Glama 3A 认证)
前端·react.js·ai·nodejs·cursor·vibe coding·claude code
jessecyj1 小时前
Spring boot整合quartz方法
java·前端·spring boot
苦瓜小生2 小时前
【前端】|【js手撕】经典高频面试题:手写实现function.call、apply、bind
java·前端·javascript
天若有情6732 小时前
前端HTML精讲03:页面性能优化+懒加载,搞定首屏加速
前端·性能优化·html
踩着两条虫2 小时前
AI驱动的Vue3应用开发平台深入探究(十):物料系统之内置组件库
android·前端·vue.js·人工智能·低代码·系统架构·rxjava
swipe2 小时前
AI 应用里的 Memory,不是“保存聊天记录”,而是管理上下文预算
前端·llm·agent
慧一居士2 小时前
nuxt3 项目和nuxt4 项目区别和对比
前端·vue.js
威联通安全存储3 小时前
破除“重前端、轻底层”的数字幻象:如何夯实工业数据的物理底座
前端·python