Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php jqueryajax与字符编码_Php_Ajax_Encoding - Fatal编程技术网

Php jqueryajax与字符编码

Php jqueryajax与字符编码,php,ajax,encoding,Php,Ajax,Encoding,我使用以下代码从php页面获取一些html内容: $.ajax({ url:server+'/getMessage/40', cache: false, success: function(res) { var text = res.responseText; $('#result').html(res); } }); 文本从数据库中检索 php文件如下所示: $app->get('/app/get/getMessage/:Id',f

我使用以下代码从php页面获取一些html内容:

$.ajax({
   url:server+'/getMessage/40',
   cache: false,
   success: function(res) {
       var text = res.responseText;
       $('#result').html(res);
    }
});
文本从数据库中检索

php文件如下所示:

$app->get('/app/get/getMessage/:Id',function ($Id='') use ($app) {
$msgElements = 'Title,Body';
$msgFe = $conn->query("SELECT $msgElements FROM messages WHERE Id='".$Id."'");
    $fields = explode(',',$msgElements);
    while($msgData = $conn->extract($msgFe)){
        foreach($fields as $field) {
            $arr->$field = $msgData->$field;
        }
    }
    $ele=' <div class="modal-header">
                <h1>'.$arr->Title.'</hi>
            </div>
            <div class="modal-body">
                '.$arr->Body.'
            </div>
            <div class="modal-footer">
            </div>
            ';
    echo $ele;
});
$app->get('/app/get/getMessage/:Id',函数($Id='')使用($app){
$msgElements='标题,正文';
$msgFe=$conn->query(“从Id='“$Id.”的消息中选择$msgElements”;
$fields=explode(“,”,$msgElements);
而($msgData=$conn->extract($msgFe)){
foreach($fields作为$field){
$arr->$field=$msgData->$field;
}
}
$ele='1〕
“.$arr->Title”
“.$arr->Body”
';
echo$ele;
});
如果我使用正确的
GET
指令将浏览器放置在php页面的位置,那么我就可以毫无问题地获取文本。但是,如果我使用上述ajax函数检索文本,它将显示
s

根据我的测试(以及这里的其他线程),我假设这个问题依赖于ajax函数中的某个地方。。。有什么帮助吗


PS我注意到,如果我尝试对包含未正确可视化字符的文本使用
json\u encode()
,结果是
null
。我希望我能帮忙

您必须
utf8\u encode()
从数据库中获取您的值,因为生成的值不是您所说的utf8编码。

您是否尝试在php开头添加标题(“charset=utf-8”)?AJAX响应的响应标题可能需要反映数据库中的内容。@Jack,我该怎么做?@ghego1
标题('Content-Type:text/html;charset=latin1');
…虽然没有保证。@Jack thank's!但是我刚刚意识到只有排序规则是拉丁瑞典语的,我认为实际的数据是UTF8。这让我更加困惑这不起作用的原因…我已经尝试过了,但没有解决问题。。。(因此我将其从代码中删除)你确定你的页面是utf8编码的吗?你是否有一个元数据将字符集设置为utf8?在js应该放置html的文档的
标题中,我有
,所以我想是的,但我不确定…你是对的!!!我只是用错误的方式进行utf8\u编码,所以这不起作用…我已经纠正了我的方式编码,现在它工作了,谢谢!!