请求服务端,返回Json数据后是乱码
我是通过js,动态创建了一个script块,块里是我从服务端(SpringMVC)请求过来的json数据,
然后有一个回调函数来处理这些数据.
现在返回来的这些数据都是乱码,不知道是何原因
JS代码:
/**
 * 进行请求
 */
function fillSlot(slotId) {
	var element = document.createElement("script");
	element.src = "http://localhost/advert/genercal/getJsonData/123";
	element.charset="utf-8"
	document.getElementsByTagName("head")[0].appendChild(element);
}
/**
 * 返回数据后的回调函数
 */
function jsonpCallback(result){
        alert(result);
}
Java代码
@RequestMapping(value = "/genercal/getJsonData/{slotId}")
	public @ResponseBody String getJsonData(@PathVariable Short slotId) {
		Map<String,Object> result = new HashMap<String, Object>();
		result.put("key","这是中文");
		/**
		 * 生成相关数据
		 */
		JSONObject jo = new JSONObject(result);
		return "jsonpCallback('"+jo.toString().replace("\\", "")+"')";
	}
------解决方案--------------------所有的编码格式都是utf-8的吗?
------解决方案--------------------
是的. 返回过去就是乱码
------解决方案--------------------有一种办法,我在后台的数据encode一下,然后在js中decode
但是解码之后的文字并不是原始的数据,存在一些问题...
------解决方案--------------------解决了,用decodeURIComponent就可以解码了