Les accents

Résolu
Bonsoir,

Quand je recupère des champs dans ma base de données,
Les accents sont traduit comme sa : Ã (é)
comment faire (je sais qu'il faut utf8 mais rien n'y fait)

Merci

3 réponses

  1. Contributeur
    Salut,

    C'est en effet un problème d'encodage : https://www.alsacreations.com/astuce/lire/85-comment-diagnostiquer-un-problme-dencodage-iso-ou-utf-8nbsp.html

    Dans ton cas tu affiches de l'UTF8 dans un document dont le charset doit être de l'ISO-8859... Jettes un oeil à la <head> de ton document !
    1. Bonjour,
      Mon head :
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
      <meta http-equiv="Content-Language" content="fr" />
    2. Contributeur
      En quoi ta base de données est-elle encodée ?
      As-tu utilisé utf8_decode ou utf8_encode quelque part ?
    3. On peut encodé la base de donnée ?
    4. Contributeur
      Oui dans ton phpMyAdmin au niveau de l'accueil des bases de données, tu as un paramètre "interclassement" qui vaut souvent "latin" au lieu de "utf8"
  2. Pour PDO :

    http://magix-cjquery.com/post/2011/12/22/Prise-en-charge-encodage-utf8-avec-PHP-et-PDO-MYSQL

    Même principe si tu utilises les fonctions natives de PHP
    1. Mon fichier config.php :

      $host='*****';
      $database='****';
      $user='****';
      $password='***';

      $strCon = "mysql:host=$host;dbname=$database";
      $arrExtraParam= array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8");
      $pdo = new PDO($strCon, $user, $password, $arrExtraParam);
      $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);