2016-05-27 33 views
0

只有返回 的值具有特殊字符時,我的sql查詢才返回任何結果。爲例:我的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」,從 「羅伊薩」 到「廣利羅伊薩avez VOUS?

該查詢不返回任何東西或使得像nomCategorie =cinéma paris

它不起作用。所以我取消所有的空間和特殊字符,它的工作原理

+0

我現在用我的PHP管理員ovh – user3070123

+0

你是說,當你在數據庫中更改json,然後選擇查詢不起作用?不可能。也許在PHP中,你正在做json_decode(),那是什麼不工作? – nospor

+0

我正在做一個Web服務;我寫查詢,然後我正在做 json_encode和它不能工作 – user3070123

回答

0

它確定我已經找到解決辦法,我只想補充一點,在LIGNE我的配置文件:

$conn->query("SET CHARACTER SET utf8"); 
+0

你不會說你的數據庫庫是什麼,但編碼通常是一個連接屬性;手動運行查詢不是最佳選擇,因爲它不會讓客戶知道正確的編碼。另外,它不應該是'set names'而不是'set character set'嗎? –

+0

相關[是否需要「SET CHARACTER SET utf8」?](http://stackoverflow.com/questions/1566602/is-set-character-set-utf8-necessary)和[UTF-8一路通過](http ://stackoverflow.com/questions/279170/utf-8-all-the-way-through)。 –