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 :

Caractères accentués mal chargés dans la DB [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2008
    Messages : 168
    Par défaut Caractères accentués mal chargés dans la DB
    Bonjour,
    Depuis quelques jours les caractères accentués des records que je charge dans la DB Mysql sont remplacés par d'autres caractères
    par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query("INSERT INTO RVRTlog (Version, Timestamp, Dates, Module, Userid) VALUES ('$Version', '$Timestamp', '$Date', '$Module', '$Userid')");
    $Userid contient "Hervé" (mon pseudo), vérifié avec un Echo
    la zone Userid dans la DB contient Herv?
    encore plus bizarre : hier j'avais Hervé
    alors qu'avant hier j'avais bien Hervé

    D'où cela peut-il venir sachant que je n'ai rien changé au module php ?

  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
    Par défaut
    Je ne sais pas ce que tu appelles le module PHP.
    Il n'y a pas eu une mise à jour sur ta serveur ?

    Quoi qu'il en soit, il vaut mieux spécifier l'encodage de la connexion Mysql que de se fier à la valeur par défaut qui peut changer.
    http://j-willette.developpez.com/tut...-site-en-utf8/
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2008
    Messages : 168
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Je ne sais pas ce que tu appelles le module PHP.
    Le script que j'exécute sur le serveur.

    Ce que je ne comprends pas c'est que si j'examine le contenu de la DB avec l'outil fourni par mon hébergeur (One.com)
    les enregistrements récents contiennent Herv?
    les enregistrements plus anciens contiennent Hervé
    ce qui signifierait que le fonctionnement de l'INSERT a changé ?
    Je vais poser la question à l'hébergeur.

  4. #4
    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
    Par défaut
    Comme je t'ai dit, s'il y a eu une mise à jour, l'encodage par défaut a pu changer.
    Il faut que tu te recales en spécifiant le bon encodage partout.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2008
    Messages : 168
    Par défaut
    Je viens d'apprendre qu'il y a effectivement eu une màj de la DB il y a quelques jours.
    Je ne comprends pas ce que je devrais faire pour me "recaler".

  6. #6
    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
    Par défaut
    J'aurai tendance à dire que tu étais en ISO avant donc il faut ajouter après ta connexion :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     mysql_set_charset('ISO-8895-15');
    Tout de même, les fonctions mysql_*** sont obsolètes. Il faudrait passer à PDO.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. caractères accentués non reconnus dans une JTable
    Par nf1624 dans le forum Composants
    Réponses: 6
    Dernier message: 21/08/2009, 16h11
  2. Réponses: 1
    Dernier message: 29/03/2009, 17h45
  3. Réponses: 3
    Dernier message: 02/09/2008, 11h54
  4. Réponses: 1
    Dernier message: 14/10/2007, 20h00
  5. Réponses: 2
    Dernier message: 21/09/2007, 14h43

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