我的sql不返回具有特殊字符

时间:2016-05-27 15:40:42

标签: php mysql utf-8 utf8-decode

当只返回值时,我的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

那样使用chane

它不起作用。所以我取消了所有空格和特殊字符,它可以正常工作

2 个答案:

答案 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');

希望有帮助!