微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用ajax时UTF8编码无法正常工作

我最近改变了一些我的页面通过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>

但是,当我进行更改以添加通过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);
            }
});

我究竟做错了什么?

编码不仅仅是指定元标记内容类型 – 文件本身必须真正采用您指定的编码,否则您将获得 mojibake.

检查所有内容是否都使用UTF-8,数据库,数据库连接,表列.检查您所包含的任何静态文件是否也以UTF-8编码.

原文地址:https://www.jb51.cc/ajax/159980.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐