Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Carcleo

Acentos UTF-8 não funciona ou não estou fazendo direito

Recommended Posts

Pessoal.

 

Estou fazendo assim:

 

As tabelas InnoDB

No Html <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>

No php header ("Content-Type: text/html; charset=utf-8");

Na conexão com o banco:

 

$conexao = new mysqli($host,$user,$pass,$db);

$conexao->set_charset("utf8");

 

E mesmo assim os acentos não saem dieito. Sai um nonte de caracter.

 

Vale lembrar que o arquivos esta como UTF-8 sem BOM no Notepad ++

 

O que pode ser?

 

Veja isso em: http://localhost/php/dinamicaimoveis.com.br/ver_imovel.php?acao=ver_imovel&id_imovel=1, na des

 

Observação: o menu (Comprar) tambem é tirado do banco e no menu os acentos estão vindo certo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

todas as tabelas são:

 

ENGINE=InnoDB DEFAULT CHARSET=utf8;

 

E, na hora de criar o database tambem é utf8

 

O detalhe que me intriga é que, como pode: Se os itens do menu e o campo de texto (longblob) que possui a descrição do imovel, estão em tabelas com a mesma criação (mas tabelas diferentes), porque é que na tabela que alimento o menu os acentos vem correto e na que alimeno os textos longblob não?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quando for imprimir os dados do banco, tente utilizar utf8_decode(str) /utf8_encode(str),

outra dica é baixa todos os arquivos do teu site, já que utiliza o notepad++ e aplicar utf8 sem bom em todos.

 

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que identifiquei o problema.

 

Se estou certo, o problema estava na modelagem da tabela.

 

O campo descricao_imovel estava gravando como longblob(exagero)

 

Troquei para text e resolveu. Não passará de 300 palavras qualquer descrição de imovel mesmo.

 

Acho que text só dá. Ou, o que voces acham.

 

Sobre o utf8_decode, todas as tabelas, todos os cabeçalhos(html e php) dos arquivos foram criados com utf-8 padraão unicode.

 

Na geração do arquivo, utf8 sem BOM.

Compartilhar este post


Link para o post
Compartilhar em outros sites

crie o banco e as tabelas com utf8_general_ci, se você troar o charset do banco e das tabelas ja com dados inseridos, nao tera valor, tera q apagar e refazer.....ou entao use o iso-8859-1...tb serve...

Compartilhar este post


Link para o post
Compartilhar em outros sites

crie o banco e as tabelas com utf8_general_ci, se você troar o charset do banco e das tabelas ja com dados inseridos, nao tera valor, tera q apagar e refazer.....ou entao use o iso-8859-1...tb serve...

Igor, todas as tabelas que crio são criadas assim. Com utf8_general_ci

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.