我使用這個代碼從一個PHP頁面html內容:jQuery的Ajax和字符編碼
$.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;
});
如果我把瀏覽器中的PHP頁面的位置,用適當的GET
指示,我得到沒有任何問題的文本。但是,如果我檢索具有上述ajax函數的文本,它顯示?
s ...
從我的測試(和其他線程在這裏)我假設問題依賴ajax函數中的某個地方..任何幫助?
PS我注意到,如果我嘗試使用json_encode()
包含字符的文字不能正確顯示,結果是null
。我希望我幫助!
您是否嘗試在php的開頭添加標題(「charset = utf-8」)? –
您的AJAX響應的響應頭可能需要反映數據庫中的內容。 –
@Jack,我該怎麼做? – ghego1