Incorrect string value

Résolu
Diogon Messages postés 173 Statut Membre -  
flomyme Messages postés 334 Statut Membre -
Bonjour le monde,

En fait mon problème est relativement simple: lorsque j'essaie d'envoyer une chaine de caractères dans ma base de données, je reçoit l'erreur "incorrect string value:...

pourtant ma table est en utf-8... J'ai essayé de changer l'interclassement en latin1_general mais ça ne change rien

quelqu'un peut-il mettre fin à mon agonie de recherche et de réflexion? ^^

Merci...

8 réponses

  1. Profil bloqué
     
    Salut,

    Je vais bientôt y aller, mais un petit bout de code peut-être ?
    0
  2. joomliner Messages postés 93 Statut Membre 36
     
    Je seconde. Un bout de code! et le contenu de la chaine en cause serait bien pour offrir un support
    0
  3. Diogon Messages postés 173 Statut Membre
     
    pardon:

    $rq = "UPDATE site_article SET title=\"$titre\", text=\"$text\", auteur='$auteur', autit='$autit' WHERE id=$id";
    mysql_query($rq) or die(mysql_error());
    

    pour la chaine de caractère, il suffit qu'elle contienne des accents pour que le problème se fasse sentir
    0
  4. arthezius Messages postés 3756 Statut Membre 475
     
    Tu peux essayer
    $rq = 'UPDATE site_article SET title="'.mysql_real_escape_string($titre).'", text="'.mysql_real_escape_string($text).'", auteur="'.mysql_real_escape_string($auteur).'", autit="'.mysql_real_escape_string($autit).'" WHERE id="'.mysql_real_escape_string($id).'"';

    J'ai ajouté entre autre la fonction mysql_real_escape_string() de PHP
    https://www.php.net/manual/fr/function.mysql-real-escape-string.php

    Sinon tu peux aussi faire un echo de la variable $rq pour vérifier comment elle est envoyé (juste le temps de faire des tests).
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Diogon Messages postés 173 Statut Membre
     
    déjà essayé :-(

    pour ce qui est de la variable elle est envoyée avec les caractères spéciaux

    Ce qui est étonnant c'est qu'il proteste pour text mais pas pour title qui est pourtant avant lui...
    0
  7. Diogon Messages postés 173 Statut Membre
     
    autre fait étonnant: si j'introduis la chaine par phpmyadmin, il n'y a pas le moindre problème
    0
    1. arthezius Messages postés 3756 Statut Membre 475
       
      Tu peux afficher le message d'erreur complet?
      Es-tu sur d'avoir bien mis le même nom dans le formulaire ET dans ta requête?
      Par exemple:
      name="texte"
      et
      $_POST['text']

      (Je dis ça à tout hasard)
      0
    2. Diogon Messages postés 173 Statut Membre
       
      le message d'erreur:
      Incorrect string value: '\xE9venem...' for column 'text' at row 1

      pour ce qui est du formulaire je suis sur puisque lorsque je fais echo rq;, j'obtiens bien tout le contenu de ma chaine
      0
    3. arthezius Messages postés 3756 Statut Membre 475
       
      Tu as bien le même encodage sur tout tes fichiers?

      Tu peux vérifier celui-ci avec entre autre Notepad++ (et je pense la majorité des éditeurs de texte).
      0
  8. Diogon Messages postés 173 Statut Membre
     
    ok tu as raison, plusieurs des fichiers include placés dans ma page n'étaient pas encodés en utf-8, maintenant ça marche comme sur des roulettes...
    0
  9. flomyme Messages postés 334 Statut Membre 13
     
    regarde si ta bien mis ton string sinon voila ton erreur........

    XD

    Bon ok -------> []
    -1