当只返回值时,我的sql查询不返回任何结果 有特殊的性格。例如:
查询是:
$sql = "SELECT * from categorie ";
$result = $conn->query(sprintf($sql));
结果是在json
{"rows":2,"categorie":[{"idCategorie":"8","nomCategorie":"loisir ","imageCategorie":"imgCategorie1.png"},{"idCategorie":"9","nomCategorie":"destination","imageCategorie":"imgCategorie2.png"}],"message":"Liste cat\u00e9gorie","error":0}
但是当我将“nomCategorie”从“loisir”更改为“quelle loisir avez vous ??
查询不返回任何内容或像nomCategorie =cinéma paris
它不起作用。所以我取消了所有空格和特殊字符,它可以正常工作
答案 0 :(得分:0)
好的我找到了解决方案,我只是在我的配置文件中添加了ligne:
$conn->query("SET CHARACTER SET utf8");
答案 1 :(得分:0)
我有一个非常相似的问题。每当我尝试获取带有特殊字符的数据时,都不会被返回。然后我发现了这个非常全面的指南:
https://www.toptal.com/php/a-utf-8-primer-for-php-and-mysql
这个问题尚不清楚,您使用的是哪种mysql连接器,但本指南应包含您要查找的内容。这是基本的mysql连接:
$link = mysql_connect('localhost', 'user', 'password');
mysql_set_charset('utf8', $link);
还需要注意的是设置您的特殊字符,以便在标头中的php中显示:
header('Content-Type: text/html; charset=utf-8');
希望有帮助!