Solucionado (ver solução)
Solucionado
(ver solução)
10
respostas

charset COOKIES e SESSION

Olá pessoal,

Estou aplicando o conteudo do curso mas surgiu um pequeno problema;

Ao adicionar o cookie e sessions do usuario estou com problemas no charset, não esta aceitando acentos e caracteres especiais... Veja que minha html está funcionando corretamente... Até as inclusões no banco estão aceitando os caracteres.

login

function relembraUsuario($email) {
    setcookie ('usuario_remember', $email, (time() + (7 * 24 * 3600)), "/");
}
relembraUsuario($email);

logica-usuario

function logaUsuario($email, $tipo, $nome) {
    $_SESSION["usuario_logado"] = $email;
    $_SESSION["user_type"] = $tipo;
    $_SESSION["nome_user"] = $nome;
}
10 respostas

Na verdade pessoal agora que vi,

No banco os dados estão indo desconfigurados... Mas ao chegar no html para listar o html converte..

Tem como definir o charset no php?

Igor, se não me engano quando você cria o banco você escolhe o encoding dele. Será que não escolheu um encoding diferente? Por exemplo, eu uso utf-8 em tudo, arquivos e banco e também adiciona a tag meta na página para dar uma pista para o navegador do encoding utilizado pelo meu html.

Oi Igor! Resolveu o problema já? Aguardamos um feedback!

Olá Flavio, desculpa a demora neste retorno.

Estava testando as possibilidade que vi aqui no goole... Mas ainda não consegui resolver o problema!!

*Veja bem, acrescentei o header nos php que participam das açoes de adição ao banco. cabeçalho e arquivo que fazem conexão...

header('Content-Type: text/html; charset=utf-8');

Inclusive isso fez aparecer o erro de header already sent...

*alterei no banco o charset dele para utf-8 general ci (não localizei somente utf-8...) Também dei um drop table e importei novamente, alterando as tabelas manualmente que haviam ficado com configuração antiga...

*Também alterei o arquivo de configuração do apache

AddDefaultCharset utf-8

O que mais posso fazer?

No banco chega desconfigurado mas o html trata e da certinho;

Banco: Aniversário Igor

html com lista do banco: Aniversário Igor

Affff

Você colocou a tag meta na sua página? Se não for isso não faço idéia.

Nossa Flavio, vou te falar que eu também não tenho idéia do que pode ser...

Veja, já alterei no mysql o banco e todas as minhas tabelas, inclusive deletei e criei novamente para não correr risco... Alterei as variables do mysql...

Nas html coloquei

Isso em todas html... :/

E o pior, fiz upload do sistema o mesmo ocorre no banco do servidor...

Será que pode ser o meu editor, o brackets?

Vc apagou o banco? Se vc apagou apenas as tabelas e não o banco, se o banco estiver com o encoding diferente dá pau. Se você usa Windows, tenho uma outra sugestão. Você usa windows?

Oi Flavio, Uso mac, apaguei sim o banco.

Na verdade criei um banco e tabelas novas.

Mais tarde vou fazer uns print e colocar aqui... Agora a esposa ta na cola pro almoço com a familia dela... Ai ja viu! Kkkkkkk

Abraços e bom sabado!

solução!

OMG!!!!

Caro Flavio, acabo de achar a solução do problema! Atenção pra hora (23:30 de sábado hein) rsrsrs

Setei o charset da conexão... Depois de tentar praticamente tudo! hehehe

O meu arquivo da conexão ficou da seguinte forma;

<?php
$conexao = mysqli_connect('localhost', 'root', '', 'nome_banco');
mysqli_set_charset($conexao,"utf8");

Foi a unica coisa que resolveu!

Cheguei até a alterar as variaveis no phpmyadmin mas tudo sem sucesso...

Graças a Deus funcionou, posso continuar com as outras aulas! Ufa!!

Agradeço toda atenção meu caro, abraços!

Excelente, show demais! Se ainda não marcou, vou marcar sua solução como resposta. Você tem todo o mérito, claro. E obrigado por não desistir.

Bom estudo e sucesso!