Problème d'accent lors de la mise en ligne
Résolu/Fermé
Airox
Messages postés
146
Date d'inscription
vendredi 1 août 2014
Statut
Membre
Dernière intervention
5 novembre 2018
-
18 mai 2016 à 17:23
Airox Messages postés 146 Date d'inscription vendredi 1 août 2014 Statut Membre Dernière intervention 5 novembre 2018 - 18 mai 2016 à 22:11
Airox Messages postés 146 Date d'inscription vendredi 1 août 2014 Statut Membre Dernière intervention 5 novembre 2018 - 18 mai 2016 à 22:11
A voir également:
- Problème d'accent lors de la mise en ligne
- Site de vente en ligne particulier - Guide
- Aller à la ligne excel - Guide
- Mise en forme conditionnelle excel - Guide
- Partage de photos en ligne - Guide
- E avec accent - Guide
2 réponses
jordane45
Messages postés
38263
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 octobre 2024
4 693
18 mai 2016 à 19:37
18 mai 2016 à 19:37
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.
zermat
Messages postés
160
Date d'inscription
jeudi 19 juin 2014
Statut
Membre
Dernière intervention
3 juin 2016
16
18 mai 2016 à 17:53
18 mai 2016 à 17:53
quel code utilises tu pour te connecter à la base de donnée
Airox
Messages postés
146
Date d'inscription
vendredi 1 août 2014
Statut
Membre
Dernière intervention
5 novembre 2018
13
Modifié par Airox le 18/05/2016 à 18:08
Modifié par Airox le 18/05/2016 à 18:08
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; }
zermat
Messages postés
160
Date d'inscription
jeudi 19 juin 2014
Statut
Membre
Dernière intervention
3 juin 2016
16
18 mai 2016 à 18:51
18 mai 2016 à 18:51
quelle est la version de ton php
Airox
Messages postés
146
Date d'inscription
vendredi 1 août 2014
Statut
Membre
Dernière intervention
5 novembre 2018
13
18 mai 2016 à 19:04
18 mai 2016 à 19:04
Du PHP 5
zermat
Messages postés
160
Date d'inscription
jeudi 19 juin 2014
Statut
Membre
Dernière intervention
3 juin 2016
16
18 mai 2016 à 19:10
18 mai 2016 à 19:10
oui php 5.x.x
il faut la version complète
par exemple que donne echo PHP_VERSION;
il faut la version complète
par exemple que donne echo PHP_VERSION;
Airox
Messages postés
146
Date d'inscription
vendredi 1 août 2014
Statut
Membre
Dernière intervention
5 novembre 2018
13
18 mai 2016 à 19:18
18 mai 2016 à 19:18
Donc il s'agit de la 5.5.12
18 mai 2016 à 19:42
18 mai 2016 à 19:45
C'est justement fait pour ça.
18 mai 2016 à 19:56
18 mai 2016 à 20:00
https://docs.moodle.org/19/fr/Convertir_votre_base_MySQL_en_UTF-8
18 mai 2016 à 22:11