Problemas com acentuações PHP no mysql
Estou com um problema utilizando filtro no PHP no banco de dados MySQL. Quando procuro algum termo com acentuação não está retornando do banco de dados o termo.
Já tentei utilizar tanto utf8_decode($filtro) quando utf8_encode($filtro).
em meu formulário estou usando o seguinte código index.php
Pegando o retorno do formulário
Código da consulta no banco de dados
Agrupamento Collation utilizando no banco
Já tentei utilizar tanto utf8_decode($filtro) quando utf8_encode($filtro).
em meu formulário estou usando o seguinte código index.php
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<form method="POST" action="#">
<input type="text" class="form-control" name="filtro" placeholder="">
<button type="submit" class="btn btn-default" aria-label="Left Align">
<span class="glyphicon glyphicon-search" aria-hidden="true"></span>
</button>
</form>
Pegando o retorno do formulário
if (!empty($_REQUEST['filtro'])) {
$filtro = "%" . $_REQUEST['filtro'] . "%";
}else{
$filtro = "%%";
}
Código da consulta no banco de dados
select * from duvidas
where titulo like :filtro or descricao like :filtro
Agrupamento Collation utilizando no banco
utf8_general_ci
Samuel Lopes
Curtidas 0
Respostas
Marcio Araujo
29/10/2016
Bom dia Samuel! Te perguntar, como criou o banco de dados?
Esse exemplo achei nesse artigo que trata sobre o assunto.
http://rmonte.com/acentuacao-no-php-e-mysql-com-utf-8/
Nesse outro link
http://www.devwilliam.com.br/php/10-pegadinhas-da-linguagem-php
No
6º Exemplo – Função strlen() x mb_strlen() ele descreve essas funções, conhece alguma delas?
CREATE DATABASE `database` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
Esse exemplo achei nesse artigo que trata sobre o assunto.
http://rmonte.com/acentuacao-no-php-e-mysql-com-utf-8/
Nesse outro link
http://www.devwilliam.com.br/php/10-pegadinhas-da-linguagem-php
No
6º Exemplo – Função strlen() x mb_strlen() ele descreve essas funções, conhece alguma delas?
GOSTEI 0
Marcio Araujo
29/10/2016
Samuel, conseguiu tentar converter esse problema?
GOSTEI 0
Andre Alves
29/10/2016
Samuel, você deve setar o CHARSET logo após a conexão com o banco de dados. Por exemplo:
Arquivo: conexao.php
Se estiver usando MySQLi Procedural, o mesmo código fica assim:
Arquivo: conexao.php
<?php
$conexao = mysql_connect("localhost","root","senha") or die(mysql_error());
mysql_set_charset("UTF8",$conexao);
$selecao = mysql_select_db("nome_do_seu_banco") or die(mysql_error());
?>Se estiver usando MySQLi Procedural, o mesmo código fica assim:
<?php
$conexao = mysqli_connect("localhost","root","senha","nome_do_seu_banco") or die(mysqli_connect_error());
mysqli_set_charset($conexao,"UTF8");
?>GOSTEI 0