2013-09-01 160 views
-1

ü我有一个PHP脚本组装此查询运行MySQL查询与PHP

SELECT * 
FROM `schueler` 
WHERE `vorname` = 'Tom' AND 
     `nachname` = 'Müller' AND 
     passwort = 'danny12' 

当我尝试这与phpMyAdmin它的工作原理,我得到所要求的行中的回报。虽然当我运行这个查询与PHP mysql_query然后mysql_num_rows告诉我,没有行返回。

同一张桌子上的其他查询可以正常工作。 我认为ü有问题。 行进行编码utf8_general_ci

克里斯

+1

请显示您的代码。如果您将mysql从mysql转换为mysqli或PDO,那最好,因为mysql API已被弃用。使用参数化查询可能会解决您遇到的问题。 – Barmar

回答

1

尝试mysql_connect功能这样的后设置字符编码:

mysql_query("set character_set_client='utf8'"); 
mysql_query("set character_set_results='utf8'"); 
mysql_query("set collation_connection='utf8_general_ci'"); 

还要注意,mysql_扩展在PHP 5.5弃用,你应该将到更新和更安全的扩展,如mysqli_PDO

+0

的作品。 不知道它已被弃用。谢谢 – xuma202

+0

我知道我很匆忙,它告诉我要等几秒钟 – xuma202

0

您的PHP文件必须编码为UTF-8也是如此。如果您不确定文件的编码方式,请打开记事本,单击“另存为...”,然后检查“编码”下拉菜单是否为“UTF-8”。将其设置为如果不是,保存。

除此之外,您还必须使用mysql_set_charset()(例如,

mysql_set_charset("utf8"); 

或者(更好的是)MySQLi或PDO中的等价物。