我最近改变了一些我的页面通过ajax显示,我对于为什么utf8编码现在在一个盒子里面显示一个问号,而在它没有之前有一些混乱.
例如.oringal页面是index.php.charset明确地设置为utf8并且在<head>.然后我用php来查询数据库
Heres是原始的index.php页面:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Title here</title>
</head>
<body class='body_bgcolor' >
<div id="main_container">
<?php
Data displayed via php was simply a select statement that output the HTML.
?>
</div>
Run Code Online (Sandbox Code Playgroud)
但是,当我进行更改以添加通过ajax填充"main_container"的菜单时,所有utf8编码都停止工作.这是新代码:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Title here</title>
</head>
<body class='body_bgcolor' >
<a href="#" onclick="display_html('about_us');"> About Us </a>
<div id="main_container"></div>
Run Code Online (Sandbox Code Playgroud)
"display_html()"函数调用javascript页面,该页面使用jquery ajax调用来检索存储在php页面中的html,然后将html放在div中,其id为"main_container".我将jquery中的charset设置为utf8,如:
$.ajax({
async: false,
type: "GET",
url: url,
contentType: "charset=utf-8",
success: function(data)
{
$("#main_container").html(data);
}
});
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
| 归档时间: |
|
| 查看次数: |
37816 次 |
| 最近记录: |