首先,确定geoserver发布的shp数据中文值是否显示正常,如果现实不正常,即使查询到,查询结果也会是一堆乱码。
解决shp数据中文值乱码的方法:选择数据存储,点击相应的图层,修改其编码为GBK2312。
则是查看其编码已经为正常中文。
接下来,在属性查询name字段的value值为小型水解酸化池的时候,要对cql_filter参数进行转码操作,将其转为Unicode编码,完美解决。
转码函数:
var str2Unicode = function(str) {
var es=[];
for(var i=0;i < str.length;i++)
es[i]=("00"+str.charCodeAt(i).toString(16)).slice(-4);
return "\\u"+es.join("\\u");
}