Problème d'accent lors de la mise en ligne
Résolu
Airox
Messages postés
146
Date d'inscription
Statut
Membre
Dernière intervention
-
Airox Messages postés 146 Date d'inscription Statut Membre Dernière intervention -
Airox Messages postés 146 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Problème d'accent lors de la mise en ligne
- Partage de photos en ligne - Guide
- Mise en forme conditionnelle excel - Guide
- Mètre en ligne - Guide
- Aller à la ligne excel - Guide
- Mise a jour chrome - Accueil - Applications & Logiciels
2 réponses
Bonjour,
En plus de forcer la prise en charge de l'utf8 par pdo (voir dernier message de zernat)
Il faut également indiquer, dans tes fichiers HTML (dans le head) que tu es en utf8
tu peux par exemple y mettre :
voir ici : https://www.alsacreations.com/astuce/lire/69-declarer-encodage-des-caracteres.html
Bien entendu.. il faut que tes fichiers php soient également encodés en utf8
Pour ça .. ouvre les dans notepad++ par exemple et regarde dans le menu "encodage". Prend UTF8 SANS BOM.
Et pour finir, tu repasses ta BDD en UTF8.
Bien entendu.... si dans tes tables tu as déjà des choses de remplis avec des caractères bizarres.. il faut que tu les modifies pour y remettre les accents.
En plus de forcer la prise en charge de l'utf8 par pdo (voir dernier message de zernat)
try{ $bdd = new PDO("mysql:host=localhost;dbname=airtech;charset=UTF8", 'root', ''); $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); //pour activer l'affichage des erreurs pdo } catch(PDOException $e){ echo 'ERROR: ' . $e->getMessage(); }
Il faut également indiquer, dans tes fichiers HTML (dans le head) que tu es en utf8
tu peux par exemple y mettre :
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
voir ici : https://www.alsacreations.com/astuce/lire/69-declarer-encodage-des-caracteres.html
Bien entendu.. il faut que tes fichiers php soient également encodés en utf8
Pour ça .. ouvre les dans notepad++ par exemple et regarde dans le menu "encodage". Prend UTF8 SANS BOM.
Et pour finir, tu repasses ta BDD en UTF8.
Bien entendu.... si dans tes tables tu as déjà des choses de remplis avec des caractères bizarres.. il faut que tu les modifies pour y remettre les accents.
quel code utilises tu pour te connecter à la base de donnée
Pour me connecter à la base de données j'utilise
Sinon pour ajouter des articles par exemples j'utilise ça:
<?php // Connexion à la base de données try { $bdd = new PDO('mysql:host=localhost;dbname=airtech', 'root', ''); } catch(Exception $e) { die('Erreur : '.$e->getMessage()); } ?>
Sinon pour ajouter des articles par exemples j'utilise ça:
if (isset($description_article)) { $description_article = htmlspecialchars($description_article,ENT_QUOTES,'ISO-8859-1'); if (!preg_match('#^.+#',$description_article)) {//Si il y a une description $validation = 1; $erreur = 'METTRE UNE DESCRIPTION'; } }
if (isset($titre_article,$categorie_article,$description_article,$prix_article,$image_article,$crea_article_form) AND $validation==0) { //envoie des donnees du formulaire $req = $bdd->prepare('INSERT INTO articles(titre,categorie,marque,description,image,prix,date_article) VALUES(:titre, :categorie,:marque ,:description,:image,:prix,CURDATE())'); // on proc?de ? l'envoit dans la BDD $req->execute(array( 'titre' => $titre_article, 'categorie' => $categorie_article, 'marque' => $marque_article, 'description' => $description_article, 'image' => $image_article, 'prix' => $prix_article )); //On remet les variables à NULL pour plus les afficher dans le formulaire $validation_form = 'ARTICLE ENVOYE'; $titre_article = null; $description_article = null; $categorie_article = null; $marque_article = null; $prix_article = null; $image_article = null; } else { NULL; }
C'est justement fait pour ça.
https://docs.moodle.org/19/fr/Convertir_votre_base_MySQL_en_UTF-8