我最近改变了一些我的页面通过ajax显示,我有一些混乱,为什么utf8编码现在在一个盒子里面显示一个问号,而在它之前没有.
例如. oringal页面是index.PHP. charset明确设置为utf8,位于< head>中.然后我用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>
但是,当我进行更改以添加通过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>
“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); } });
我究竟做错了什么?