前端向数据库get数据出现的中文乱码问题

fail_not_loser 2016-07-05 04:45:21
在JS 中用ajax方式向数据库get数据,同时用console语句打印出来,结果数据中的中文都乱码了,获取数据程序如下:
function ReadTable() {
$.ajax({
url:server+"/getAllMajorLocation" ,
async:false,
dataType:"jsonp",
jsonp:"jsonCallBack",
success:function (data) {
console.log(data[0].data.chargeUnit); //将数据打印出来
if(data.length == 0){
layer.alert('没有数据!',{
closeBtn: 0
});
}else{
var monitorDataShow = [];
for(var i in data){
var obj = {
id: data[i].data.id,
type:data[i].data.type,
unitImportmentName: data[i].data.unitImportmentName,
chargeUnit:data[i].data.chargeUnit,
dutyPeople:data[i].data.dutyPeople,
belongSchool:data[i].data.belongSchool==1?"校区1":data[i].data.publicStatus==2?"校区2":"错误",
location:data[i].data.location,
detail:data[i].data.detail,
defensePoint:data[i].data.defensePoint,
};
monitorDataShow.push(obj);
}
monitorTable.rows.add(monitorDataShow).draw();
}
}
});
}


这是网页上console打印出来的内容(部分):
Object
belongSchool: 1
chargeUnit: "???"
defensePoint: "??"
detail: "????"
dutyPeople: "??"
id: 3location: "??????"
type: "??"
unitImportmentName: "???????????"


但是~我用Postman插件向数据库获取数据的话返回都是正常的,获取到的数据如下:
null([{"data":{"belongSchool":1,"chargeUnit":"保卫处","defensePoint":"防火","detail":"防止火灾","dutyPeople":"校长","id":3,"location":"浙江省杭州市","type":"高校","unitImportmentName":"某某大学"}}])


另外还有一个就是基本类似的一个界面获取到的数据是正常的,获取的方式是一模一样的,找了好久的原因了,求各位大神有空指点一下呀,在线等
...全文
537 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
fail_not_loser 2016-07-06
  • 打赏
  • 举报
回复
引用 1 楼 zhangsheng_1992 的回复:
1.首先检查你的页面文件编码 是不是utf8的 2.然后检查你的页面编码 就是有没有指定
<meta charset=utf-8/>
3.检查你后端脚本文件的编码 4.检查数据库编码 以上任何一个错误 都可能导致乱码
前端几个地方都已经设为UTF8的格式了,后端也是,而且用postman插件获取到的数据是正常的,这样是不是表示后端和数据库是没问题的?
zhangsheng_1992 2016-07-06
  • 打赏
  • 举报
回复
1.首先检查你的页面文件编码 是不是utf8的 2.然后检查你的页面编码 就是有没有指定
<meta charset=utf-8/>
3.检查你后端脚本文件的编码 4.检查数据库编码 以上任何一个错误 都可能导致乱码
fail_not_loser 2016-07-06
  • 打赏
  • 举报
回复
引用 7 楼 Dream_On_324 的回复:
后台和数据库应该是没问题的,因为你用插件可以获得中文内容~觉得还是页面编码问题
我也这么想的。。就是找不来
KDDA 2016-07-06
  • 打赏
  • 举报
回复
后台和数据库应该是没问题的,因为你用插件可以获得中文内容~觉得还是页面编码问题
fail_not_loser 2016-07-06
  • 打赏
  • 举报
回复
引用 4 楼 showbo 的回复:
jsonp是用script标签加载的js代码,自己检查服务器响应的charset是什么,如果和当前页面不一样会乱码,增加ajax配置scriptCharset 指定为url加载的页面的编码
加了scriptCharset还是乱码
fail_not_loser 2016-07-06
  • 打赏
  • 举报
回复
引用 3 楼 DeneImp 的回复:
contentType:"application/x-www-form-urlencoded; charset=utf-8",
我的 contentType设为jsonp是为了解决和后太的跨域问题,本身charset就是utf-8了
Go 旅城通票 2016-07-06
  • 打赏
  • 举报
回复
jsonp是用script标签加载的js代码,自己检查服务器响应的charset是什么,如果和当前页面不一样会乱码,增加ajax配置scriptCharset 指定为url加载的页面的编码
Dene-wang 2016-07-06
  • 打赏
  • 举报
回复
contentType:"application/x-www-form-urlencoded; charset=utf-8",

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧