0

我有这个 PHP 代码,以及一个带有“Question”、“answer1”、“answer2”、“Question_id”的数据库,当我从 PHP 进行 SQL 查询并对答案进行编码以发送 Android 应用程序时,只有“问题”字段为空,我读到它可能是代码,但我的数据库是用 utf-8 编码的。我也尝试使用 PHP 中的“utf8_encode”函数将结果转换为 utf-8,但它不起作用,所以我寻求帮助:P

这是代码(我删除了连接到数据库的代码和一些未使用的行......)

$sql=mysql_query("SELECT * FROM Questions");
$num_rows = mysql_num_rows($sql);
$max_value = (int)$num_rows;
$quest_id = rand ( 1, $max_value);
$sql=mysql_query("SELECT * FROM Questions WHERE id_quest = $quest_id");

$row = mysql_fetch_array($sql);
$output[]=$row;



    echo(json_encode($output));
mysql_close();

非常感谢 :D

4

2 回答 2

0

不要使用两个查询,而是尝试只使用一个。它可能无法解决问题,但它减少了对数据库的调用次数:

SELECT * FROM Questions ORDER BY RAND() LIMIT 1
于 2012-04-05T19:29:44.413 回答
0

我认为你有点误会了。您的数据库可能以 UTF8 编码,但 php 与数据库之间的通信不是(默认为 latin1 / ISO-8859-1)。

除非你正在做一个

mysql_query('SET CHARACTER SET utf8');

您没有与我们分享的某个地方,就是您应该研究的解决方案。

于 2012-04-05T20:28:50.077 回答