比对 2004-06-30 16:28:24 和 2004-06-22 22:18:03
新增内容
Mapserver中文显示问题
集思学院的网友birdsky提供的线索:
MapServer i18n Project
这个也许是
侧底解决Mapserver中文显示问题的办法。
6月30日添加:
在上周末,同事火柴的协助下,对上述方法进行了测试,以下是结论:
1、下载了
MapServer 4.0.1和4.2两个版本的source包,经实验,
Patch都可以正常使用。
2、在Map文件中需要注释的层(LAYLER)或者图例(LEGEND)的LABEL 标签内,需要增加“ENCODING”进行补充描述,:
例如:
图例(LEGEND)显示中文
LAYER
NAME "river"
DATA hyd1_4l
STATUS default
TYPE LINE
CLASS
NAME "一级河流"
COLOR 0 0 255
END
END
LEGEND
KEYSIZE 18 12
STATUS ON
LABEL
TYPE TRUETYPE
FONT song
COLOR 0 0 89
SIZE 9
ENCODING GB18030
END
END
3、编码和说明文字采用的编码相匹配既可,如GB2312,GB18010,UTF-8等,。
如果您的mapserver
没有打Patch,可以采用如下方法:
04-05-02, 21:49 发表于
集思学院
在Linux下安装
MapServer成功后,发现输出的图片中中文总是不正常。于是找了一些大虾米们探讨问题可能出现在什么地方,然后进行一个个实验。
可能1、服务器Locale设置问题?
同事火柴提示是否是Locale设置的问题,在他的帮助下,检查了Locale设置,经检查服务器上的Locale设置的语言环境(GB18010)完全正确。(后来的实验证明与此无关。
如果解决了i18n的支持问题,也许就相关了)
可能2、于是怀疑字体不正确?
经同事蓝牙帮助,得到Linux可以免费使用的中文字体,以及被验证过的可以在Linux下使用的Windows下的中文字体,中文依然不能正常显示。回去仔细检查了UMN上的Font设置的说明,证明设置方面没有错误。
这是我试验的几种字体,后来证明都能正常使用。
gkai00mp.ttf Linux下字体
SIMFANG.TTF Linux下字体
simsun.ttc Windows 下字体
实验过程中检查到一个现象:在图片缩放过程中曾经显示过一个古怪的中文字出来,说明程序能输出双字节的内容来。
回想起前一阵子做的一些Linux下的帮助文件,汉化完后不能正常显示,需要转成utf-8格式才行,忽然想到会不会是这个问题??
可能3、需要将说有的说明由GB转为UTF-8格式?
首先找了个mapinfo的mif数据文件,将mid说明文件转存为utf-8格式,然后再用转换工具转成shp文件,上传,修改mapfile,上传,切到浏览器,刷新,OK!中文显示正常了!
原来问题的答案是中文说明需用
TrueType?字体和UTF-8格式!成功了!我太高兴了,时间是5/2/2004 6:29 PM,我要记下这一刻:-)
下面再解决图例的中文显示:
经过一阵子摸索,总结如下:
1、 将mapfile转为UTF-8格式;
2、 LEGEND对象中的LABEL对象需要用
TrueType?输出。
3、 如果不想显示某层的图例,将该层的CLASS的NAME属性删除。
上述实验是在REDHAT LINUX7.2 +
MapServer 4.02环境下进行的。
删除内容
Mapserver中文显示问题
网友birdsky提供的线索:
MapServer i18n Project
这个也许是侧底解决Mapserver中文显示问题的办法。
我的办法:
04-05-02, 21:49 发表于集思学院
在Linux下安装
MapServer成功后,发现输出的图片中中文总是不正常。于是找了一些大虾米们探讨问题可能出现在什么地方,然后进行一个个实验。
可能1、服务器Locale设置问题?
同事火柴提示是否是Locale设置的问题,在他的帮助下,检查了Locale设置,经检查服务器上的Locale设置的语言环境(GB18010)完全正确。(后来的实验证明与此无关。
如果解决了i18n的支持问题,也许就相关了)
可能2、于是怀疑字体不正确?
经同事蓝牙帮助,得到Linux可以免费使用的中文字体,以及被验证过的可以在Linux下使用的Windows下的中文字体,中文依然不能正常显示。回去仔细检查了UMN上的Font设置的说明,证明设置方面没有错误。
这是我试验的几种字体,后来证明都能正常使用。
gkai00mp.ttf Linux下字体
SIMFANG.TTF Linux下字体
simsun.ttc Windows 下字体
实验过程中检查到一个现象:在图片缩放过程中曾经显示过一个古怪的中文字出来,说明程序能输出双字节的内容来。
回想起前一阵子做的一些Linux下的帮助文件,汉化完后不能正常显示,需要转成utf-8格式才行,忽然想到会不会是这个问题??
可能3、需要将说有的说明由GB转为UTF-8格式?
首先找了个mapinfo的mif数据文件,将mid说明文件转存为utf-8格式,然后再用转换工具转成shp文件,上传,修改mapfile,上传,切到浏览器,刷新,OK!中文显示正常了!
原来问题的答案是中文说明需用
TrueType?字体和UTF-8格式!成功了!我太高兴了,时间是5/2/2004 6:29 PM,我要记下这一刻:-)
下面再解决图例的中文显示:
经过一阵子摸索,总结如下:
1、 将mapfile转为UTF-8格式;
2、 LEGEND对象中的LABEL对象需要用
TrueType?输出。
3、 如果不想显示某层的图例,将该层的CLASS的NAME属性删除。
上述实验是在REDHAT LINUX7.2 +
MapServer4?.02环境下进行的。