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 :

[SQL] Les caractères spéciaux


Sujet :

PHP & Base de données

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 551
    Points : 264
    Points
    264
    Par défaut [SQL] Les caractères spéciaux
    Salut,

    Quand je mets dans un textarea des charateres francais, lorsque je les recupere avec une requete SQL, tout est correct.
    Avec phpMyAdmin, dans la database je peux voir ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Et voilà que la star de l\'Internet met cette fois la voûte
    céleste à portée de souris grâce à une nouvelle option baptisée
    Par contre, sur le serveur, avec le meme code PHP, dans la database j'ai ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Et voilà que la star de l'Internet met cette fois la voûte
    céleste à portée de souris grâce à une nouvelle option baptisée
    Etant donne que le code PHP est le meme et que les navigateurs utilises sont aussi les memes, quelle peut-etre la difference au niveau configuration PHP ou MySQL qui fait ca ?

    Merci,
    Vincent.

  2. #2
    Rédacteur

    Avatar de Yoteco
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2004
    Messages
    1 099
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 099
    Points : 2 498
    Points
    2 498
    Par défaut
    C'est une erreur d'encodage. Tu sais quel encodage tu utilises pour stocker ton texte dans la base de données?

    Si tu le sais il te suffit d'utiliser la fonction header de PHP pour le spécifier.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header('charset=utf-8');
    Blog - Mon espace developpez -
    Oracle Certified Professional, Java SE 6 Programmer
    eZ Publish Certified developer

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 551
    Points : 264
    Points
    264
    Par défaut
    Ca marche pas et c'est vraiment bizarre !

    Si je fais un echo de la variable juste avant de faire la requete SQL pour l'inserer dans la DB ca marche mais ca met dans la base de donnnees les mauvais characteres:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     echo $body ;  -> OK  
     
      $query = "update articles set " ;
     
      $query .= "
                      articles_date = '$date', 
                      articles_type = '$type', 
                      articles_title = '$title', 
                      articles_body = ''$body',
                      articles_location = '$location',
                      articles_position = '$position' where articles_id = $articles_id" ;
    Et en faisant un htmlspecialchars($body), ca ne marche pas non plus

    Je ne sais plus trop quoi faire !

    Une idee ?

    Merci,
    Vincent.

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 551
    Points : 264
    Points
    264
    Par défaut
    En fait par exemple ca me fait un echo "Numéricâble" mais ca me met Numéricâble dans la base de donnees !

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 551
    Points : 264
    Points
    264
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
         $body = htmlentities($body, ENT_NOQUOTES, "UTF-8") ;
    Et roulez jeunesse !


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

Discussions similaires

  1. les caractères spéciaux en SQL
    Par bouguima001 dans le forum Firebird
    Réponses: 3
    Dernier message: 13/09/2011, 14h59
  2. comment insérer les caractères spéciaux dans sql server 2005
    Par dev-deb dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 03/10/2010, 13h08
  3. [C#][ADO] Enlever les caractère spéciaux
    Par Oberown dans le forum Windows Forms
    Réponses: 3
    Dernier message: 10/01/2005, 18h38
  4. [Jsp] Supprimer les caractère spéciaux d'une chaine
    Par PeteMitchell dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 13/05/2004, 11h11
  5. Traiter les caractères spéciaux
    Par ricola dans le forum Langage
    Réponses: 2
    Dernier message: 20/02/2003, 09h23

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