acentuação em página PHP

Fórum sobre outras linguagens de programação.

Moderador: Moderadores

cjp
Usuário Nível 6
Usuário Nível 6
Mensagens: 1563
Registrado em: 19 Nov 2010 22:29
Localização: paraná
Contato:

acentuação em página PHP

Mensagem por cjp »

Pessoal, por favor uma ajuda:

Tenho tido problemas frequentes com acentuação em páginas PHP.

Vejam um exemplo no anexo.

Neste exemplo, a página alunos2.php está com UTF-8. E a base de dados está com COLLATE='latin1_swedish_ci'.

Mas eu já testei de várias formas. Em algumas, eu consigo acertar a acentuação na página PHP, mas daí no meu sistema em Harbour não fica certo.

Gostaria de saber se existe uma forma correta para que a acentuação apareça corretamente tanto no PHP quanto no Harbour.

Alguém poderia me ajudar?
Anexos
tela.png
Inacio de Carvalho Neto
Avatar do usuário
Vlademiro
Usuário Nível 4
Usuário Nível 4
Mensagens: 752
Registrado em: 11 Jul 2005 02:46

acentuação em página PHP

Mensagem por Vlademiro »

Eu usava a função utf8encode, da uma olhada no link

https://www.php.net/manual/pt_BR/functi ... encode.php
Avatar do usuário
Vlademiro
Usuário Nível 4
Usuário Nível 4
Mensagens: 752
Registrado em: 11 Jul 2005 02:46

acentuação em página PHP

Mensagem por Vlademiro »

Tem essa tb, caso a anterior falhe

https://www.php.net/manual/en/function. ... coding.php

Nessa página tem um link para as codepages suportadas.
cjp
Usuário Nível 6
Usuário Nível 6
Mensagens: 1563
Registrado em: 19 Nov 2010 22:29
Localização: paraná
Contato:

acentuação em página PHP

Mensagem por cjp »

Funcionou. Muito obrigado.
Inacio de Carvalho Neto
cjp
Usuário Nível 6
Usuário Nível 6
Mensagens: 1563
Registrado em: 19 Nov 2010 22:29
Localização: paraná
Contato:

acentuação em página PHP

Mensagem por cjp »

Poderia me ajudar também na situação inversa?

Tenho uma página que está colocando dados na base MySQL com erro de acentuação.

Testei fazer o mesmo com utf8encode, mas não funcionou.
Inacio de Carvalho Neto
Avatar do usuário
Vlademiro
Usuário Nível 4
Usuário Nível 4
Mensagens: 752
Registrado em: 11 Jul 2005 02:46

acentuação em página PHP

Mensagem por Vlademiro »

Na situação inversa é utf8decode
cjp
Usuário Nível 6
Usuário Nível 6
Mensagens: 1563
Registrado em: 19 Nov 2010 22:29
Localização: paraná
Contato:

acentuação em página PHP

Mensagem por cjp »

Não deu certo.

Fiz assim:

Código: Selecionar todos

    $query = "INSERT INTO alunos(".utf8_decode(nome).",ru,senha,email,turma) VALUES ('$nome', '$ru', '$senha', '$email', '$turma')";
Tá errado?
Inacio de Carvalho Neto
Avatar do usuário
Vlademiro
Usuário Nível 4
Usuário Nível 4
Mensagens: 752
Registrado em: 11 Jul 2005 02:46

acentuação em página PHP

Mensagem por Vlademiro »

O decode deve ser no valor a ser gravado no campo, não no nome do campo.
Avatar do usuário
Vlademiro
Usuário Nível 4
Usuário Nível 4
Mensagens: 752
Registrado em: 11 Jul 2005 02:46

acentuação em página PHP

Mensagem por Vlademiro »

Assim :

Código: Selecionar todos

$nome = utf8_decode( $nome );
$query = "INSERT INTO alunos( nome,ru,senha,email,turma) VALUES ('$nome', '$ru', '$senha', '$email', '$turma')";
utf8_decode — Converte uma string com caracteres ISO-8859-1 codificadas com UTF-8 para single-byte

O seu banco está em qual codificação ?
cjp
Usuário Nível 6
Usuário Nível 6
Mensagens: 1563
Registrado em: 19 Nov 2010 22:29
Localização: paraná
Contato:

acentuação em página PHP

Mensagem por cjp »

Deu certo.
De fato, agora eu vi a besteira que eu tinha feito.
Obrigado.
Não entendo muito isso, mas a tabela está assim:

Código: Selecionar todos

COLLATE='latin1_swedish_ci'
Inacio de Carvalho Neto
Responder