2
respostas

Problemas com caracteres especiais

Olá, estou com um problema de formatação eu acredito.

Tenho um sistema que estou fazendo com o que estou aprendendo neste curso (PHP + MySQL) Desculpe-me se a dúvida já foi sanada em outro lugar, mas eu não achei.

Bom, meu database no MySQL eu criei com utf8_general_ci, no header do meu "cabecalho" eu coloquei dentro da tag <header> o <meta charset="UTF-8">

O resultado é que o site mostra a acentuação normalmente, exceto os dados oriundos do MySQL.

Alguma dica?

Abraços

<?php

error_reporting(E_ALL ^ E_NOTICE);
  require_once("mostra-alerta.php"); 
  require_once("logica-usuario.php");

 ?>
<head>
    <meta charset="UTF-8">

    <title>XA Item Creation</title>
    <link href="css/bootstrap.css" rel="stylesheet">
    <link href="css/estilos.css" rel="stylesheet">
</head>
2 respostas

Você pode tentar o seguinte, na hora de imprimir os dados do site, tente utilizar a função utf8_encode(). Eu costumo usar ela para imprimir os dados. Para salvar no banco, eu costumo usar o utf8_decode()

Olá, Diego.

Como você está se conectando ao BD? Se for com o PDO, na instância da sua conexão, adicione este parâmetro:

$pdo = new PDO(
    $dsn,
    $usuario,
    $senha,
    array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8')
);

Se for com mysqli:

$mysqli->set_charset('utf8');