我使用jquery AJAX加载将html页面加载到div。加载的页面具有德语字符,并且编码不正确,而主页面中的德语字符显示正确。有人请帮我解决这个问题。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-15"/>
<script type="text/javascript" src="script/jquery-1.4.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$.ajax({
url : 'startPage.html',
dataType: 'text',
contentType: "application/x-www-form-urlencoded;charset=utf-8",
success : function(data){
$('#loadPage').html(data);
}
});
});
</script>
</head>
<body>
<div id="loadPage"></div>
<br />
Länge Länge
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-15"/>
</head>
<body>
Loaded Content - Länge - (This text is not displayed correctly)
</body>
</html>
在此页面中,我尝试为iso编码添加元标记,但仍未取得任何成功。请帮忙
答案 0 :(得分:5)
beforeSend : function(xhr) {
xhr.overrideMimeType('text/html; charset=iso-8859-15');
},
在你的ajax函数或ajaxSetup();
中使用它答案 1 :(得分:0)
为了正确显示,您需要确保所有字符集都以相同的方式声明。例如,你得到:
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-15"/>
在要求:
contentType: "application/x-www-form-urlencoded;charset=utf-8",
确保你知道你想要哪一个并给出正确的字符集。 .html,.php和.js文档的编码也是错误的一个因素。如果您使用notepad ++或任何代码编辑器,请确保使用您希望它们显示的相同字符集对文件进行编码。我建议你“转换”你的文件,这样你就不会丢失你已经放在那里的所有特殊字符。