Clipper On Line • Ver Tópico - acentuação em página PHP
Mudar para estilo Clássico
Discussão sobre outras linguagens de programação.
Postar uma resposta

acentuação em página PHP

12 Jul 2020 12:41

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

acentuação em página PHP

12 Jul 2020 12:53

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

https://www.php.net/manual/pt_BR/function.utf8-encode.php

acentuação em página PHP

12 Jul 2020 12:57

Tem essa tb, caso a anterior falhe

https://www.php.net/manual/en/function.mb-convert-encoding.php

Nessa página tem um link para as codepages suportadas.

acentuação em página PHP

12 Jul 2020 22:36

Funcionou. Muito obrigado.

acentuação em página PHP

10 Ago 2020 22:10

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.

acentuação em página PHP

10 Ago 2020 23:31

Na situação inversa é utf8decode

acentuação em página PHP

11 Ago 2020 00:26

Não deu certo.

Fiz assim:

Código:
    $query = "INSERT INTO alunos(".utf8_decode(nome).",ru,senha,email,turma) VALUES ('$nome', '$ru', '$senha', '$email', '$turma')";


Tá errado?

acentuação em página PHP

11 Ago 2020 07:41

O decode deve ser no valor a ser gravado no campo, não no nome do campo.

acentuação em página PHP

11 Ago 2020 08:44

Assim :

Código:
$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 ?

acentuação em página PHP

14 Ago 2020 01:20

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:
COLLATE='latin1_swedish_ci'
Postar uma resposta