IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Accents après changement de version de wamp


Sujet :

PHP & Base de données

  1. #1
    Débutant
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    886
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 886
    Points : 330
    Points
    330
    Par défaut Accents après changement de version de wamp
    bonjour

    je sais que les problèmes d'accents sont délicats, j'en ai eu par le passé, et à chaque fois je sèche

    alors cette fois, j'ai réinstallé mon serveur dédié, et donc installé la dernière version de wamp (windows)

    la version de php est 5.5.12

    mon site est fait en php + bdd mysql

    novice, j'ai toujours utilisé "mysql_query" mais depuis l'upgrade, j'ai eu un message disant que mysql_query était "depreciate" sur toutes mes pages php

    après quelques recherches, j'ai compris que je devais revoir mon code, pour utiliser la PDO lorsque j’interroge ma bdd

    sans rien y toucher, j'ai remarqué que certain texte issu de la bdd n'apparaissaient pas lorsqu'il y avait un accent

    je suis donc passé à la PDO et j'ai eu d'autres surprises :

    si je me connecte à la bdd ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $bdd = new PDO('mysql:host=localhost;dbname=mabdd;charset=utf8', 'root', 'xxxxx');
    le texte apparaît mais les accents sont mal interprété "préféré" pour le mot "préféré"

    si je retire "charset=utf8" et donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $bdd = new PDO('mysql:host=localhost;dbname=mabdd', 'root', 'xxxxx');
    et bien j'ai le même soucis qu'avec mysql_query, des qu'il y a un texte accentué, rien ne s'affiche

    après quelques recherche sur le net, j'ai appris qu'il fallait modifier le charset, donc j'ai créé un petit fichier test pour avoir le moins de code possible (et donc trouver ce qui ne va pas)


    _ si en début de page je met :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />

    - echo 'préféré' affiche bien "préféré"
    - mais si le mot "préféré" se trouve dans la bdd et bien il s'affichera "préféré"


    _ si en début de page je met :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />

    - echo 'préféré' affiche "préféré"
    - mais si le mot "préféré" se trouve dans la bdd et bien il s'affichera correctement "préféré"



    voilà je vous ai expliqué en détail mon problème, en espérant que mon long post n'effrayera pas des aideurs potentiel ^^

    je vous remercie d'avance

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    C'est étrange : les résultats que tu nous montres ne sont pas cohérents.
    Tu nous parles également de mots qui disparaissent, cela ressemble à un problème avec htmlspecialchars / htmlentities qui ont changés depuis PHP5.4

    Les problèmes d'encodage ne sont pas difficiles si on contrôle bien tous les points suivants :
    - les fichiers .php doivent être encodés en UTF8 (à vérifier dans ton editeur de texte).

    - la connexion à la bdd doit être établie en UTF8 : new PDO('mysql:host=localhost;dbname=mabdd;charset=utf8', 'root', 'xxxxx');

    - le contenu HTML doit être précisé en UTF8 : <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />

    - Depuis PHP5.4, préciser l'encodage dans la conversion HTML : htmlspecialchars($string, ENT_QUOTES,'UTF-8');
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. Ralentissement après changement de version
    Par usf70 dans le forum wxPython
    Réponses: 3
    Dernier message: 31/08/2010, 15h08
  2. [Wamp] Apache plante après un changement de version PHP
    Par Nams29 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 12/05/2010, 11h22
  3. Réponses: 4
    Dernier message: 22/09/2009, 08h53
  4. [XL-2000] Problème liaison après changement de version
    Par RootsInternationnal dans le forum Excel
    Réponses: 1
    Dernier message: 19/08/2009, 09h04
  5. Erreur Edition de lien après changement de version
    Par Alfred83 dans le forum wxWidgets
    Réponses: 2
    Dernier message: 09/01/2007, 15h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo