开发MapServer,使用PostGIS做为数据库来存储图形和属性数据,如果属性数据中有中文,则在图查属性时获得的属性值在页面中显示乱码,经过几天辛苦的上网查资料、尝试和同事探讨,终于解决了问题:
在MapFile中设置图层的连接字符串时需要添加options选项来设置encoding,具体如下:
LAYER
CONNECTIONTYPE postgis
CONNECTION "host=IP dbname=DATABASE user=USER password=PSW port=5432 options='-c client_encoding=GBK'"
DATA "the_geom FROM DEMO_DATA"
NAME "LayerName"
TYPE POINT
STATUS ON
END