Javascript 输出中的jquery ajax问号

Javascript 输出中的jquery ajax问号,javascript,php,jquery,ajax,encoding,Javascript,Php,Jquery,Ajax,Encoding,我有三份档案 index.php=>javascript.js的输出在这里 js=>包含对php文件的ajax post请求,以从数据库中获取一些数据 php=>基本上从数据库获取数据并将其返回到javascript.js function chooseCategory() { var cat_id = $('#placead_category').val(); $('#placead_subcategory').empty(); $.ajax({ u

我有三份档案

index.php=>javascript.js的输出在这里

js=>包含对php文件的ajax post请求,以从数据库中获取一些数据

php=>基本上从数据库获取数据并将其返回到javascript.js

function chooseCategory() {
    var cat_id = $('#placead_category').val();

    $('#placead_subcategory').empty();

    $.ajax({
        url: 'ajax.php',
        type: 'POST',
        contentType: "application/x-www-form-urlencoded;charset=utf-8",
        data: { cat_id:cat_id },
        success:function(data){
            $('#placead_subcategory').append(data);
        }
    });
}
一旦数据库中没有特殊字符,一切都正常运行,问题就会在它们出现时出现。而不是像“a”这样的特殊字符=>出现问号

我使用集名为utf8的PDO,在数据库中,所有内容都在utf8_general_ci中,当我尝试测试ajax.php文件的数据输入时,一切都很好。一旦将数据从ajax.php文件发送回javascript.js文件,问题就会出现,而现在当我看到alert()数据时,会出现问号而不是特殊字符

我在谷歌上搜索了几个小时,但我没有找到任何解决问题的方法。我应该做什么,我应该改变什么?文件也用utf8编码。还包括Utf8元标记

Ajax.php

if (isset($_POST['cat_id'])) {
    $cat_id = (int) $_POST['cat_id'];
    if ($cat_id == 0) { $cat_id = 1; }
    $data = $system->grabSubcategories($cat_id, true);

    $final_output = '';


    if ($system->getLanguage() == 'en') {
        foreach ($data as $item) {
            $final_output .= '<option value="'. $item->id .'">'. strtolower($item->name) .'</option>';
        }
    } else {
        foreach ($data as $item) {
            $final_output .= '<option value="'. $item->id .'">'. strtolower($item->name_fr) .'</option>';
        }
    }

    echo $final_output;
}
index.php的开头有:

<!-- Include Meta -->
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        <meta http-equiv="Content-Language" content="en"/>
        <meta name="author" content="some author..."/>
        <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
        <title>some title...</title>
        <link rel="Shortcut icon" href="" />
        <!-- /Include Meta -->

一些标题。。。

uhm,你能发布你的代码吗?具体来说,在index.php中是否存在html元标记“charset”并将其设置为utf-8?@GrafiCodeStudio post已编辑。谢谢。看起来不错,index.php的html“head”部分怎么样?你有字符集吗?(有点像)@GrafiCodeStudio是的,编辑过的alsoIt看起来很好。。。我可以建议您在通过ajax发送数据之前对数据进行base64编码吗?当你从php解码它时,它不应该显示任何问号。嗯,你能发布你的代码吗?具体来说,在index.php中是否存在html元标记“charset”并将其设置为utf-8?@GrafiCodeStudio post已编辑。谢谢。看起来不错,index.php的html“head”部分怎么样?你有字符集吗?(有点像)@GrafiCodeStudio是的,编辑过的alsoIt看起来很好。。。我可以建议您在通过ajax发送数据之前对数据进行base64编码吗?当您从php解码它时,它不应该显示任何带问号的编码字符。