我正在尝试复制以前一直使用的网络服务。它从mySQL数据库获取数据,然后在json中回显它。它曾经多次使用过,但现在我似乎无法让它发挥作用。
我的数据库设置如下(我知道它是瑞典语,但希望你能得到它):
# Kolumn Typ Kollationering Attribut Null Förvalt
1 id int(11) Nej Inget AUTO_INCREMENT
2 desk text utf8_swedish_ci Ja NULL
3 info varchar(4) utf8_swedish_ci Ja NULL
然后我的php页面设置如下:
$query = "SELECT *
FROM `$table`
LIMIT 100
";
$result = mysql_query($query,$conn) or die('Errant query: '.$query);
$posts = array();
if(mysql_num_rows($result)) {
while($post = mysql_fetch_assoc($result)) {
$posts[] = array('post'=>$post);
}
}
header('Content-type: application/json');
echo json_encode(array('posts'=>$posts));
我得到的结果很奇怪:
{"posts":[{"post":{"id":"1","desk":"blablabla","info":"4353"}},{"post": {"id":"2","desk":**null**,"info":"3413"}}]}
我得到一个空结果,我实际上在数据库中有一些东西,它似乎与瑞典语中的“åäö”-chars有关,但这在以前从来就不是问题。我实际上尝试从另一个数据库导出一个表,在那里我尝试了同样的事情,直到我开始输入新的值才有效。
有什么想法?
编辑:这是目前数据库中的两个值。
desk info
fragannanananana 4353
arhåaöafghsgjädsiahäkömgdsjnö 3413
答案 0 :(得分:1)
我解决了。只需要添加mysql_query('SET CHARACTER SET utf8');它就像一个魅力!