drk7 0 Denunciar post Postado Março 26, 2010 Oi. Já passei por um problema assim antes, mas consegui resolver. Só que agora, não tem jeito. Todo banco de dados e páginas estão codificadas como utf8, só que ao receber os dados do banco os dados não estão codificados como utf8, pois se eu uso utf8_encode() funciona. A questão é que eu não queria usar, pois teoricamente deveria funcionar (como funcionou no outro projeto). De resto toda acentuação vinda do html ou de echo funciona. Só os dados do bd que não. Alguma luz? Agradeço que ajudar. Compartilhar este post Link para o post Compartilhar em outros sites
LF_HERNANDES 0 Denunciar post Postado Março 26, 2010 Amigo você ja tentou alterar o "Content-Type" da página? Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Março 28, 2010 set names 'utf8' Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Março 28, 2010 Existe codificação do banco, codificação da tabela e codificação de campo. Verifique se está tudo em urf-8 mesmo Se o problema são apenas os dados do banco, content-type não vai resolver, pois vai corrigir os dados vindos do banco, mas estragar os dados exibidos na página, escritos diretamente no .php Compartilhar este post Link para o post Compartilhar em outros sites
drk7 0 Denunciar post Postado Março 29, 2010 Tudo como utf8. Content-type, página mesmo codificada em utf8 e banco de dados (utf8_unicode_ci). Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Março 30, 2010 set names 'utf8' Compartilhar este post Link para o post Compartilhar em outros sites
drk7 0 Denunciar post Postado Março 30, 2010 set names 'utf8' Oi Evandro.O BD já está todo codificado como DEFAULT CHARSET=utf8 COLLATE utf8_unicode_ci. O que alteraria em cima do charset já setado esse set names utf8? Compartilhar este post Link para o post Compartilhar em outros sites
Eragon 0 Denunciar post Postado Março 30, 2010 Olha no rodapé do seu editor o enconding do arquivo .php Se está ANSI, UTF8 ou outro. Compartilhar este post Link para o post Compartilhar em outros sites
drk7 0 Denunciar post Postado Março 30, 2010 Olha no rodapé do seu editor o enconding do arquivo .php Se está ANSI, UTF8 ou outro. Coloquei antes: Tudo como utf8. Content-type, página mesmo codificada em utf8 e banco de dados (utf8_unicode_ci). Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Março 30, 2010 Como diria o Desnickadu: "Sem teste, sem ajuda". Compartilhar este post Link para o post Compartilhar em outros sites
drk7 0 Denunciar post Postado Março 30, 2010 Como diria o Desnickadu: "Sem teste, sem ajuda". Eu tentei, mas nunca tinha ouvido falar disso. E pelo que eu li não faria sentido se eu já tivesse usando utf8.Tentei assim, mas deu erro de sintaxe: CREATE DATABASE IF NOT EXISTS DATABASE1 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci SET NAMES utf8 COLLATE utf8_unicode_ci; USE DATABASE1; Compartilhar este post Link para o post Compartilhar em outros sites
drk7 0 Denunciar post Postado Março 30, 2010 Coloquei assim. Não adiantou. O server é contratado. CREATE DATABASE IF NOT EXISTS DB1 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; USE DB1; SET character_set_connection = utf8; SET character_set_server = utf8; SET character_set_client = utf8; SET character_set_results = NULL; SET NAMES utf8 COLLATE utf8_unicode_ci; Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Março 30, 2010 $conn = mysql_connect($host,$username,$password) or die(mysql_error()); $db = mysql_select_db($database,$conn) or die(mysql_error()); mysql_query("SET NAMES 'utf-8';"); $query = "SELECT * FROM `{$tabela}`"; $sql = mysql_query($query) or die(mysql_error()); foreach($sql as ... Compartilhar este post Link para o post Compartilhar em outros sites
drk7 0 Denunciar post Postado Março 31, 2010 $conn = mysql_connect($host,$username,$password) or die(mysql_error()); $db = mysql_select_db($database,$conn) or die(mysql_error()); mysql_query("SET NAMES 'utf-8';"); $query = "SELECT * FROM `{$tabela}`"; $sql = mysql_query($query) or die(mysql_error()); foreach($sql as ... Coloquei assim nas consultas e continua na mesma. Não vai em utf8 os dados. Mas se eu fizer na volta dos dados do bd utf8_encode(campo) funciona. Não sei mais o que fazer. Acho que vou ter que usar isso, embora não queria. Alguma outra idéia? Compartilhar este post Link para o post Compartilhar em outros sites
André D. Molin 15 Denunciar post Postado Março 31, 2010 Já tentou isso? http://br2.php.net/manual/pt_BR/function.mysql-set-charset.php Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Março 31, 2010 se o problema persiste, basta inverter... de set names utf-8 vira set names latin1 Compartilhar este post Link para o post Compartilhar em outros sites
drk7 0 Denunciar post Postado Abril 8, 2010 Já tentou isso? http://br2.php.net/manual/pt_BR/function.mysql-set-charset.php Era exatamente isso que eu precisava. Resolveu. Valeu! Compartilhar este post Link para o post Compartilhar em outros sites