Fórum [PHP] Problema ao buscar valor com acento no banco. #573847
17/01/2017
0
Quanto eu busco no banco uma palavra com acento, ele não me retorna nada. Mesmo eu tendo certeza que exite uma linha com essa palavra na tabela.
Alguém sabe o que pode ser?
Exemplo
$conn = mysql_connect("localhost", "root", "");
mysql_select_db('testedb', $conn);
$query = mysql_query("SELECT nome, sobrenome, idade FROM pessoa WHERE nome='João'");
$result = array();
while($r = mysql_fetch_array($query)){
extract($r);
$result [] = array("nome" => $nome, "sobrenome" => $sobrenome, 'idade' => $idade);
}
Obrigado.
Victor Machado
Curtir tópico
+ 0Post mais votado
17/01/2017
Quanto eu busco no banco uma palavra com acento, ele não me retorna nada. Mesmo eu tendo certeza que exite uma linha com essa palavra na tabela.
Alguém sabe o que pode ser?
Exemplo
$conn = mysql_connect("localhost", "root", "");
mysql_select_db('testedb', $conn);
$query = mysql_query("SELECT nome, sobrenome, idade FROM pessoa WHERE nome='João'");
$result = array();
while($r = mysql_fetch_array($query)){
extract($r);
$result [] = array("nome" => $nome, "sobrenome" => $sobrenome, 'idade' => $idade);
}
Obrigado.
Tenta isso:
$result [] = array("nome" => utf8_encode($nome), "sobrenome" => utf8_encode($sobrenome), 'idade' => $idade);
Ou
mysql_set_charset('UTF8', $conn);
Considerando que seu banco esteja usando outro charset.
Caso seja utf8 e queira em iso8859-1 por exemplo, só fazer utf8_decode() e definir 'latin1' no lugar do utf8 no meu segundo exemplo.
Acredito que um desses te ajude. :)
Wilson Neto
Gostei + 1
Mais Posts
17/01/2017
Wilson Neto
Então passe dessa forma:
$nome = utf8_decode(inputaqui);
(Não me atentei a busca.. rsrs)
Qualquer coisa posta ai o resultado. :)
Gostei + 1
18/01/2017
Victor Machado
Funcionou com o mysql_set_charset('UTF8', $conn), muito obrigado cara :D
Gostei + 0
18/01/2017
Wilson Neto
Funcionou com o mysql_set_charset('UTF8', $conn), muito obrigado cara :D
Show! Disponha! :)
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)