我正在使用此代码从php页面获取一些html内容:
$.ajax({
url:server+'/getMessage/40',
cache: false,
success: function(res) {
var text = res.responseText;
$('#result').html(res);
}
});
从db。
中检索文本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;
});
如果我将浏览器放在php页面的位置,并使用正确的GET
指令,我会毫无问题地获取文本。但是,如果我使用上面的ajax函数检索文本,它会显示?
s ...
从我的测试(以及SO上的其他线程)我假设问题依赖于ajax函数中的某个地方......有什么帮助吗?
PS我注意到如果我尝试在包含未正确显示的字符的文本上使用json_encode()
,则结果为null
。我希望我有所帮助!
答案 0 :(得分:0)
您必须utf8_encode()
您的数据库中的值,因为结果值不是您所说的utf8编码。