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 :

[php mysql et accent] : Incorrect string value '\xE0 cot\xE9.'


Sujet :

PHP & Base de données

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 3
    Points : 1
    Points
    1
    Par défaut [php mysql et accent] : Incorrect string value '\xE0 cot\xE9.'
    Bonjour à tous,

    Voilà, je développe un script php qui ajoute des données à une base de données.
    Cette base de données est en latin1_swedish_ci (enfin avant que je bidouille pour essayer de faire marcher le biniou).

    Quand je fais mon insert into, il me réponds
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Incorrect string value: '\xE0 cot\xE9...' for column 'commentaire' at row 1
    Donc, il semble qu'il n'aime pas les accents de 'à coté' et que cela plante.

    Si j'ai compris, la façon dont est encodé le script php influe. Perso, j'écris mes script avec notepad++ (format windows et ANSI).

    Mes données sont issues d'un formulaire dont le charset est iso-8859-1 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=iso-8859-1" />
    Voilà la situation.

    Donc je voudrais savoir ce que je dois faire pour que mon script accepte enfin les commentaire avec accents.

    Merci pour vos bons conseils.

  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
    Bonjour,

    Est-ce que tu n'appliquerais pas une fonction sur tes valeurs avant des les inserer dans la requete ?

    Pourrait-on voir comment tu construis ta requete ?

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Coucou,

    Pour tout dire, en fait, j'ai un premier formulaire qui enregistre les données dans un fichier text sur le serveur. Ce fichier est ensuite relu par le script pour préremplir le formulaire. Jusqu'ici, tout va bien et s'affiche correctement dans les champs du formulaire.

    Ensuite, quand je valide, ça plante.

    Pour en revenir au sujet, je fait à peu près ça (j'ai squizzé qq lignes de code entre) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $commentaire=trim($_POST['commentaire']);
    $sql_commentaire=substr(ma_sqlite_escape_string($commentaire),0,200);
    la fonction ma_sqlite_escape_string est définie ainsi (car je suis en php4) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function ma_sqlite_escape_string($str)
    	{
    	return(str_replace("'","''",$str));
    	}
    ma requete est du style (j'ai réduit le nombre de champs) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    INSERT INTO `ma_table` ( `nom` , `ville` , `commentaire`)
    VALUES ( '$sql_nom' , '$sql_ville' , '$sql_commentaire'  );
    Alors docteur, c'est grave ?

  4. #4
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Avant, il y avait également un stripslashes, mais je l'ai retiré. Me rappelle plus, mais à mon avis provenait d'un copié/collé.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $commentaire=trim(stripslashes($_POST['commentaire']));
    Mais malgré l'avoir retiré, ça change pas, ça plante toujours.

    Je le dis quand même au cas où.

Discussions similaires

  1. Réponses: 0
    Dernier message: 17/06/2011, 12h46
  2. [MySQL] Incorrect string value: '\xE9sireu...' for column
    Par ETVigan dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 15/07/2010, 13h36
  3. problème requete "Incorrect string value"
    Par darontankian dans le forum Débuter
    Réponses: 11
    Dernier message: 09/12/2009, 09h58
  4. Erreur mysql incorrect string value 1366
    Par calitom dans le forum Requêtes
    Réponses: 1
    Dernier message: 21/09/2009, 09h16
  5. [MySQL] Problème Accent PHP + MySQL
    Par ganjaaw dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 08/08/2007, 22h10

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