我正在向我拥有的网站上托管的 php 脚本发出 JsonP 请求。 php 脚本从 DB 获取结果并将其作为 Json 返回。
问题是数据库包含希伯来字符,我将它们视为“??????”在响应中。
知道如何解决这个问题吗?
这是js代码:
$.getJSON("http://flyfish.co.il/appdiet?callback=?",function(data){
$('p').text(data[0].food_name);
});
和 php 代码:
<?php
header('Content-type: text/html; charset=UTF-8');
require_once 'config.php';
$mysqli = new mysqli(HOST,USERNAME,PASSWORD,DB_NAME);
$query = "SELECT * from mytable";
if ($result = $mysqli->query($query))
{
$data = array();
while ($row = $result->fetch_assoc()) {
$data[] = $row;
}
echo $_GET['callback'].'('.json_encode($data).')';
}
else {
echo $_GET['callback'].'('.$mysqli->error.')';
}
$mysqli->close();
最佳答案
尝试在 select
语句之前添加 set names 'utf8';
。
关于php - 无法使用 JsonP 获取希伯来语结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10902795/