繁体   English   中英

使用jQuery.load()加载div时的字符编码问题

[英]Character encoding issue when loading a div using jQuery.load()

我正在使用jQuery AJAX加载将html页面加载到div。 加载的页面包含德语字符,并且编码不正确,而正确显示了主页中的德语字符。 有人请帮助我解决这个问题。

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"/>
<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>

startPage.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编码的meta标签,但仍然没有成功。 请帮忙

 beforeSend : function(xhr) {
        xhr.overrideMimeType('text/html; charset=iso-8859-15');
    },

在您的ajax函数或ajaxSetup()中使用它;

您需要确保以相同的方式声明所有字符集,以便正确显示。 例如,您得到:

<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 ++或任何代码编辑器,请确保使用与要显示的字符集相同的字符集对文件进行编码。 我建议您“转换”您的文件,以免丢失已经放入其中的所有特殊字符。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM