中文字符串显示乱码-java前端jquery接接收中文字符串乱码问题

作者:用户 来源:互联网 浏览:852 次 时间:2016-06-07 15:52:46

中文字符串显示乱码

中文字符串显示乱码-java前端jquery接接收中文字符串乱码问题 - 摘要: java前端jquery接接收中文字符串乱码问题服务端:@RequestMapping(value="/detail/modSelect",method={RequestMethod.POST})pu

问题描述

java前端jquery接接收中文字符串乱码问题

服务端:@RequestMapping(value="/detail/modSelect", method = {RequestMethod.POST})
public @ResponseBody String mod(@RequestBody String reqParam){
//修改请求处理
System.out.println("修改请求发送到此");
System.out.println(reqParam);
ExpressLineInfo lineInfo = new ExpressLineInfo();
String[] str = reqParam.split("&");
String areaId = str[0].split("=")[1];

String neiAreaId = str[1].split("=")[1];
int distance = Integer.parseInt(str[2].split("=")[1]);
String direct = str[3].split("=")[1];
int hot = Integer.parseInt(str[4].split("=")[1]);

    lineInfo.setAdcd(areaId);
    lineInfo.setDirect(direct);
    lineInfo.setDistance(distance);
    lineInfo.setScope_adcd(neiAreaId);
    lineInfo.setScope_hot(hot);
    int result = regionInfoService.updateScope(lineInfo);
    if(result==1){
        return "修改成功!";
    }else{
        return "修改失败!";
    }
}

前端jquery: $.post("/detail/modSelect.htm",
"areaId="+areaId+"&neiAreaId="+neiAreaId+"&distance="+distance+"&direct="+direct+"&hot="+hot,
function(data,statusText){
alert(data);
});
回掉函数里的data即为服务端返回的中文字符串,用alert在页面输出后显示为????!
返回英文则是正常的。
求高手帮忙解答,如何让它显示正常的中文,感激不尽!

解决方案

ajax 同步调用 返回字符串 java例子(全)及 从后台返回中文乱码解决方法

解决方案二:

服务端需返回 utf-8 编码数据
如返回的不是 utf-8 的,需加上相应语言声明的头

具体代码要看你的服务端语言

解决方案三:

用UTF8编码,然后获取的时候用UTF8解码

解决方案四:

服务器端采用URLEncoder.encode(str, "utf-8");进行编码

前端采用decodeURIComponent(data);进行解码

解决方案五:

前台页面编码跟后台编码一致。

html" rel="nofollow">http://www.cnblogs.com/liuling/archive/2013/03/31/encoding.html

【云栖快讯】诚邀你用自己的技术能力来用心回答每一个问题,通过回答传承技术知识、经验、心得,问答专家期待你加入!  详情请点击
弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率

40+云计算产品,6个月免费体验

现在注册,免费体验40+云产品,及域名优惠!

云服务器9.9元/月,大学必备

热点导航