[Resolvido] Caracteres especiais no BD
Galera, estou com um problema e não sei como resolver! Quando faço uma busca no banco de dados com caracteres especiais, ele retorna 0 (zero) linhas de resposta, por exemplo eu criei o banco abaixo com 2 produtos de teste
-- phpMyAdmin SQL Dump
-- version 2.10.1
-- http://www.phpmyadmin.net
--
-- Servidor: localhost
-- Tempo de Geração: Abr 06, 2010 as 05:06 PM
-- Versão do Servidor: 5.0.45
-- Versão do PHP: 5.2.5
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
--
-- Banco de Dados: teste
--
-- --------------------------------------------------------
--
-- Estrutura da tabela produtos
--
CREATE TABLE `produtos` (
`codigo` smallint(11) NOT NULL auto_increment,
`nome` varchar(100) collate utf8_unicode_ci NOT NULL,
PRIMARY KEY (`codigo`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=3 ;
--
-- Extraindo dados da tabela produtos
--
INSERT INTO produtos (codigo, nome) VALUES
(1, 'ção'),
(2, 'cao');
e criei a seguinte paginas
<?php
$host="localhost";
$user="root";
$senha="";
$db="teste";
$conecta=mysql_connect($host,$user,$senha);
mysql_select_db($db,$conecta);
if(isset($_POST["enviar"])){
$sql = mysql_query("SELECT * FROM produtos WHERE nome LIKE '%" . $_POST["nome"] . "%'");
$q_sql = mysql_num_rows($sql);
if($q_sql == 0){
echo "<p>Nenhum produto encontrado</p>";
}
else{
for ($i=0 ; $i<$q_sql ; $i++){
$r_sql = mysql_fetch_row($sql);
echo $r_sql[0] . " " . utf8_encode($r_sql[1]) . "<br />";
}
}
}
?>
<form action="banco.php" method="post">
<input name="nome" type="text" />
<input type="submit" name="enviar" />
</form>
Ai se eu procuro por "ç" ele não retorna produto nenhum! e se procuro por "c", ele retorna o produto que contem "ç" também!!
O que esta errado!!
Valew!! Abraços!!!
Discussão (4)
Carregando comentários...