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

一是创建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. 什么是LSA,在OSPF中LSA是什么

    什么是LSA:链路状态通告,它存在于LSU(链路状态更新包) Type 1 LSA:路由器LSA       每个OSPF路由器都会产生路由器LSA,描述了对应设备的物理接口所连接的链路和接口,并指明 ...

  2. Java 将CSV转为Excel

    CSV(Comma Separated Values)文件是一种纯文本文件,包含用逗号分隔的数据,常用于将数据从一个应用程序导入或导出到另一个应用程序.通过将CSV文件转为EXCEL,可执行更多关于数 ...

  3. Mysql查询优化器之关于子查询的优化

    下面这些sql都含有子查询: mysql> select * from t1 where a in (select a from t2); mysql> select * from (se ...

  4. 两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?

    对. 因为equals()方法可以用开发者重写,hashCode()方法也可以由开发者来重写,因此它们是否相等并没有必然的关系. 如果对象要保存在HashSet或HashMap中,它们的equals( ...

  5. Ajax的乱码解决问题?

    Javascript是使用UTF-8国际编码,即每个汉字用4个字节来存储,这就造成了用AJAX来send数据的时候出现会乱码. Ajax乱码产生主要有2个原因 1. XMLHttpRequest返回的 ...

  6. jQuery--基本过滤选择器

    1.基本过滤选择器介绍 基本过滤器: :first     获取数组中第一个元素 :last      获取数组中最后一个 :eq(selector) 获取指定索引 :gt(index)     大于 ...

  7. @RequestMapping与@Autowired的作用

    @RequestMapping RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上.用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径. @Autowired @ ...

  8. 细说【json&pickle】dumps,loads,dump,load的区别

    1 json.dumps() json.dumps()是将字典类型转化成字符串类型. import json name_emb = {'a':'1111','b':'2222','c':'3333', ...

  9. Effective Java —— 优先考虑依赖注入来引用资源

    本文参考 本篇文章参考自<Effective Java>第三版第五条"Prefer dependency injection to hardwiring resources&qu ...

  10. MOS管工作原理精讲