1
resposta

Problema de acentuação ao listar produtos

Fiz conforme a aula, porém a acentuação não é corrigida pois está vindo direto do banco. Tentei setar no script sql na criação do banco conforme a documentação do MariaDB, tanto latin1 como latin2 ele até seta o collate, mas da erro quando faz o insert na tabela Produtos devido ao acento Anéis. Existe solução?

CREATE DATABASE estoque
  CHARACTER SET = 'latin1'
  COLLATE = 'latin1_general_ci';
1 resposta

Olá Lucas,

Para o charset do banco é recomendado o utf8mb4_unicode_ci, verifica diretamente na tabela se está com esse charset.

Já que está utilizando o PDO, adiciona a configuração charset=utf8 na criação da conexão:

$conexao = new PDO('mysql:host=127.0.0.1;dbname=estoque;charset=utf8', 'root', 'alura');

Talvez só essa configuração acima já resolva sem precisar modificar o charset do banco.

Lembrando que dados já cadastrados no banco ainda podem ficar com problemas na codificação, cadastre novo itens para testar.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software