Linux中geoserver中文乱码
Linux中geoserver发布服务,中文乱码:
乱码有几个原因:
1、数据编码和选择的编码不对应;
2、数据编码和style编码不对应;
3、服务器字体库不包含中文字体。
一、数据编码问题
通过QGIS加载数据,查看基本信息,识别对应编码,geoserver数据发布的时候对应选择:DBF的字符集。
二、样式问题
通常style样式头部的:encoding="utf-8"一般只是这个xml的编码,有中文就写UTF-8或者GBK都可以;
三、服务器字体库问题
确认Geoserver能加载到的字体库,但是如果以上两种情况都处理还是不行,那就肯定是操作系统缺少中文字体库。
解决方案:
1、拷贝本机C:\Windows\Fonts下面的simsun.ttc simhei.ttf msyh.ttc三个字体文件到服务器/usr/share/fonts/win路径下,没有wins文件夹可自行创建,然后刷新就行
# 1. 在 Windows 打包字体
cd C:\Windows\Fonts
tar -cvf winfonts.tar simsun.ttc simhei.ttf msyh.ttc # 如果不行的话就不用打包,直接拷贝到第二部创建的文件夹
# 2. 拷到 Linux,解压并安装
sudo mkdir -p /usr/share/fonts/win
sudo tar -xf winfonts.tar -C /usr/share/fonts/win
sudo chmod 644 /usr/share/fonts/win/*
sudo fc-cache -fv
2、重启geoserver服务发现,可用字体增加,此时刷新服务图层,则字体正常。