我有一个使用一个PHP文件jQuery.ajax()
从另一个php文件的一些数据抓取到一个div。
jQuery.ajax({
type: 'POST',
encoding:"UTF-8",
dataType:"html",
contentType: "text/plain; charset=UTF-8",
url: '/path/data.php',
success: function(msg) {
jQuery('#dataBox').html(msg);
}
});
我的问题是,如果我有我通过Ajax获取数据的一些“特殊”的字符,如氧化铝,然后我得到的“问号的黑色钻石” - 马克。 如果我在浏览器中打开外部文件它的工作原理。 如果我把一些特殊字符在主页上,它的工作原理。
一些简单的代码:
data.php:
$mysqli = new mysqli("localhost", "username", "pass", "db");
$mysqli->set_charset("utf8");
$mysqli->query("SET GLOBAL time_zone = '+00:00'");
$stmt = $mysqli -> prepare("SELECT GROUP_CONCAT(sometext) AS mytext FROM `mytable`");
$stmt -> execute();
$results = selectResults($stmt);
$stmt -> close();
$mysqli -> close();
selectResults功能:
function selectResults($stmt)
{
$parameters = array();
$results = array();
$meta = $stmt->result_metadata();
while ( $field = $meta->fetch_field() ) {
$parameters[] = &$row[$field->name];
}
call_user_func_array(array($stmt, 'bind_result'), $parameters);
while ( $stmt->fetch() ) {
$x = array();
foreach( $row as $key => $val ) {
$x[$key] = $val;
}
$results[] = $x;
}
return $results;
}
data.php:
foreach($results as $result){
$textArray = explode(',', $result['mytext']);
}
foreach($textArray as $text){
echo($text);
}