mbb 0 Denunciar post Postado Janeiro 13, 2009 Pessoal estou com um problema no Mysql com PHP ele não esta aceitando o select com clausula like com a procura com palavras com acentuação olha o exemplo abaixo: $db = new PDO('mysql:host=localhost; port=3306; dbname=dspbanco', 'root', '', array( PDO::ATTR_PERSISTENT => true)); $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $db->setAttribute(PDO::ATTR_EMULATE_PREPARES, 1); $stmt = $db->prepare("SELECT * FROM tab_lojas where id_estado = '26' and id_cidade = '5346' and bairro like '%Aclimação%';"); $stmt->execute() or die($db->errorInfo()); $result = $stmt->fetchAll(); echo "<pre>"; print_r($result);ele só funciona quando tiro a acentuação pq? Compartilhar este post Link para o post Compartilhar em outros sites
Marcio Leandro 0 Denunciar post Postado Janeiro 13, 2009 Qual o erro ? Compartilhar este post Link para o post Compartilhar em outros sites
mbb 0 Denunciar post Postado Janeiro 14, 2009 Márcio, Na verdade ele não apresenta um erro e sim ele não me traz nenhuma informação , me da um array em branco ... mas tenho certeza que tem informações no banco com acentuação ... Pois realizo a consulta direto no banco ele me retorna os dados.... mas acabei achando a solução , quando utilizamos PDO com conexão com o Mysql e estamos trabalhando com um banco em UTF-8 precisamos colocar um parametro (SET NAMES utf8) a mais na classe de conexão que ficaria assim : $db = new PDO('mysql:host=localhost; port=3306; dbname=dspbanco', 'root', '', array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8")); $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $db->setAttribute(PDO::ATTR_EMULATE_PREPARES, 1); hehehehe Abs e espero que isso ajude muita gente rsrs Compartilhar este post Link para o post Compartilhar em outros sites