在说明这个问题之前,有三点需要明确:

一是创建New style时,网页中文本框内的内容才是最终会应用到GeoServer的sld内容,这与本地sld文件没有关系。

二是xml的encoding定义的编码不一定和文件编码(文件的字符编码)一致,详情可以参考:

XML乱码问题和encoding的理解

三是我使用的geoserver版本为2.16.2,因此该乱码问题的解决思路可能不适用于某些低版本的geoserver。据我所知,低版本geoserver(例如2.8.2),不论使用什么方法向网页中输入sld,只要sld文本中存在中文就不行,估计低版本是对中文的支持性不太好,因此如果遇到类似情况,建议使用较高版本。

乱码问题的解决思路主要有如下三点:

1.sld通过文件上传时出现乱码,说明sld文件的字符编码方式不为UTF-8。因为GeoServer工作区的字符集默认为UTF-8,上传文件的字符编码应当与它保持一致。

此时上传的sld内容已经乱码(即GeoServer接受到的文本已经乱码不能识别了,跟现在的encoding和字符编码都没多大关系了),修改本地sld文件并不能改变网页文本框的内容。

此时,需要将本地的sld文件字符编码设置成UTF-8再进行一次上传,直到文本框内容不出现乱码。

或者,更推荐的是,直接复制sld文档内容到网页文本框内,这样不会出现乱码。因为在不明确编码方式时,默认假定xml内容采用UTF-8编码。

2.shp数据中含有中文字符时,需要在数据源中将DBF字符集编码设置为GBK或GB2312

3.sld文件中含有中文字符时,编码方式encoding应该设置为GBK或GB2312,与数据源的编码方式对应。

GeoServer style中文乱码解决方法的更多相关文章

  1. php mysql 中文乱码解决方法

    本文章向码农们介绍php mysql 中文乱码解决方法,对码农们非常实用,需要的码农可以参考一下. 从MySQL 4.1开始引入多语言的支持,但是用PHP插入的中文会出现乱码.无论用什么编码也不行 解 ...

  2. jquery的ajax()函数传值中文乱码解决方法介绍

    jquery的ajax()函数传值中文乱码解决方法介绍,需要的朋友可以参考下 代码如下: $.ajax({ dataType : ‘json', type : ‘POST', url : ‘http: ...

  3. [转]mysql导入导出数据中文乱码解决方法小结

    本文章总结了mysql导入导出数据中文乱码解决方法,出现中文乱码一般情况是导入导入时编码的设置问题,我们只要把编码调整一致即可解决此方法,下面是搜索到的一些方法总结,方便需要的朋友. linux系统中 ...

  4. Zxing中文乱码解决方法

    Zxing中文乱码解决方法总结 尝试过非常多方法  最后发现此方法解决的乱码最多....... 在百度搜索二维码图片 经过前2页的測试  除开一张图之外  其余都能扫描出结果 假设大家有更好的解决方法 ...

  5. unity3d 中文乱码解决方法——cs代码文件格式批量转化UTF8

    在Unity3d中经常会碰到中文乱码的问题,比如代码中的[AddComponentMenu("GameDef/AI/战机AI")],注释,中文文本等等 其原因在于,unity本身是 ...

  6. Codeblocks中文乱码解决方法

    odeblocks中文乱码解决方法: 特别提示:出现中文乱码情况才执行以下操作,未出现请勿随意修改!!!! 打开Codeblocks -> 设置 -> 编辑器: 然后点击 Encoding ...

  7. 可遇不可求的Question之导入mysql中文乱码解决方法篇

    可遇不可求的Question之导入mysql中文乱码解决方法篇 先 set names utf8;然后 source c:\1.sql ?

  8. 使用WebLogic时控制台输出中文乱码解决方法

    使用WebLogic时控制台输出中文乱码解决方法 1.找到weblogic安装目录,当前项目配置的domain 2.找到bin下的setDomainEnv.cmd文件 3.打开文件,从文件最后搜索第一 ...

  9. Django 分页查询并返回jsons数据,中文乱码解决方法

    Django 分页查询并返回jsons数据,中文乱码解决方法 一.引子 Django 分页查询并返回 json ,需要将返回的 queryset 序列化, demo 如下: # coding=UTF- ...

随机推荐

  1. Python 的排序方法 sort 和 sorted 的区别

    使用 sort() 或内建函数 sorted() 对列表进行排序.它们之间的区别有两点: sort() 方法是对原列表进行操作,而 sorted() 方法会返回一个新列表,不是在原来的基础上进行操作. ...

  2. K8S原来如此简单(六)Pod调度

    我们前面部署的pod调度取决于kube-scheduler,它会根据自己的算法,集群的状态来选择合适的node部署我们的pod. 下面我们来看下如何来根据我们自己的要求,来影响pod的调度. 定向no ...

  3. Molecule实现数栈至简前端开发新体验

    Keep It Simple, Stupid. 这是开发人耳熟能详的 KISS 原则,也像是一句有调侃意味的善意提醒,提醒每个前端人,简洁易懂的用户体验和删繁就简的搭建逻辑就是前端开发的至简大道. 这 ...

  4. Spring Cache缓存框架

    一.序言 Spring Cache是Spring体系下标准化缓存框架.Spring Cache有如下优势: 缓存品种多 支持缓存品种多,常见缓存Redis.EhCache.Caffeine均支持.它们 ...

  5. @Qualifier 注解有什么用?

    当您创建多个相同类型的 bean 并希望仅使用属性装配其中一个 bean 时,您可 以使用@Qualifier 注解和 @Autowired 通过指定应该装配哪个确切的 bean 来消除歧义. 例如, ...

  6. 什么是 spring 的内部 bean?

    只有将 bean 用作另一个 bean 的属性时,才能将 bean 声明为内部 bean. 为了定义 bean,Spring 的基于 XML 的配置元数据在 <property> 或 &l ...

  7. List、Set、Map 和 Queue 之间的区别?

    List 是一个有序集合,允许元素重复.它的某些实现可以提供基于下标值的常量 访问时间,但是这不是 List 接口保证的.Set 是一个无序集合.

  8. docker学习-01-安装docker

    [root@localhost firstDocker]# cat /etc/centos-release CentOS Linux release 7.6.1810 (Core) [root@loc ...

  9. C语言之API

    C语言之API 1.输入(控制台输入) scanf("%d,%d",&a,&b); 2.输出(打印数值) printf("max=%d\n",c ...

  10. buuctf 荷兰带宽数据泄露

    荷兰带宽数据泄露 下载附件得一个conf.bin文件,这个文件是路由信息文件,题目并没有任何提示,我们先来测试一下最简单的,找username或password然后当作flag交上去,我们使用Rout ...