ajax获取到的中文显示乱码
我在一个index.html(文件类型:UTF-8, 添加<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />)
里面通过点击事件触发 $("#content").load("content.html");
content.html内容如下
HTML code
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script src="./js/content.js" type="text/javascript">
</script>
<link rel="stylesheet" type="text/css" href="./css/table.css""/>
<title>内容</title>
</head>
<body>
</body>
</html>
content.js 代码:
JScript code
$(document).ready(function(){
$.ajax({
type: "get",
url: "http://localhost:8080/Demo/request",
dataType: "jsonp",
jsonp: "callback",
data: null,
async: false,
success: function(data){
$.each(data, function(i, item){
alert(item.text);
});
}
})
});
我确定返回的json中中文是utf-8格式的,但是显示的时候就是乱码, 请各位帮忙看看什么问题, 问题解决当即给分.
------解决方案--------------------content="text/html; charset=utf-8" 这个是告诉浏览器,是什么编码
html 文件自己也有编码
------解决方案--------------------你的 content.js 也保存为utf-8编码了吗?
------解决方案--------------------
------解决方案--------------------如果你是用记事本编辑的content.html话,保存的时候要保存为utf-8而不是默认的ANSI
------解决方案--------------------是不是 json的编码的问题
统一的 UTF-8
------解决方案--------------------<script src="./js/content.js" charset="gbk" type="text/javascript">
------解决方案-------------------- response.setContentType("text/html;charset=UTF-8");
response.setContentType("application/x-json");
request.setCharacterEncoding("utf-8");
我每次写servlet 都加上这三句,没出过乱码啊 ,你试试
------解决方案--------------------你把应用服务器 server.xml里面加上URIEncoding="utf-8" 例如:在<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />这里面添加即可
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding=utf-8/>