Problème d'apostrophe

Répondre
fausto
fausto
Déconnecté
Bonsoir
j'ai un souci à la noix
j'ai un formulaire, qui inscrit les données dans une base MySQl
Tous les caractères passent bien, sauf l'apostrophe
(style Word : par exemple : l’agriculture)
je précise que tout est encodé en UTF-8

j'ai essayé un "str_replace", rien n'y fait

Si quelqu'un a la solution
merci d'avance

Fausto
moogli
moogli
Déconnecté
Il en faut peu pour être heureux !!!!!
Salut,

Qu'entend tu par probleme avec les apostrophe ?

Tu ne retrouve pas le bon caractere dans la table mysql ?

Si tu a des \ devant c'est du aux magic quotes il faut ajouter un stripslashe.

Il faut d'info pour t'aider.

L'encodage ne change rien (le probleme se reflete sur les caracteres speciaux comme les accents).

@+
fausto
fausto
Déconnecté
L'apostrophe style Word : ’
ne passe pas, elle est enregistrée dans la base (remplacée), par un "?"

J'ai essayé çà :
  1.  
  2. $text = $_POST['text'];
  3.  
  4. $healthy = array("’");
  5. $yummy = array("'");
  6.  
  7. $text = str_replace($healthy, $yummy, $text);
  8.  


Rien n'y fait, le addslashes non plus

c'est déprimant

Fausto
moogli
moogli
Déconnecté
Il en faut peu pour être heureux !!!!!
C'est parce que l'appostrophe de word n'est pas un caractere "normal" je pense. Essai un utf8_encode() sur ta chaine avant insertion !

Est ce que tes tables sont en utf 8 ainsi que la connection ? (set name....) ?

@+
fausto
fausto
Déconnecté
J'ai mis tout çà !
les tables sont bien en UTF-8
le code :

  1.  
  2. $text = nl2br($_POST['text']);
  3.    
  4.    
  5. $text = utf8_encode ($text);
  6.  
  7.    $date = date("d-m-Y");
  8. $heure = date("H:i");
  9.  
  10.                   
  11. $healthy = array(":");
  12. $yummy = array("h");
  13.  
  14. $heure = str_replace($healthy, $yummy, $heure);
  15.  
  16. $time = $date.' à '.$heure;
  17.  
  18.  
  19.  
  20.  
  21.  
  22.       $id = $_GET['id'];
  23. if($id==0) {
  24. //connexion
  25.  
  26.  
  27. mysql_query("SET NAMES 'utf8'");
  28.  
  29.  
  30. $sql = "INSERT INTO table (id,texte,heure) VALUES('','$text','$time')";
  31.  
  32.  
  33. $result = mysql_query($sql);
  34.  
  35. $last_id = mysql_insert_id();
  36.  
  37. mysql_close();
  38.  
  39. if($result) {
  40.    echo '<pre class="reg">- Les données ont bien été inscrites dans la base</pre>';
  41.  
  42.  
  43. }
  44.  
  45.  
  46. else {
  47.  
  48.    echo '<pre class="reg">- PROBLÈME DANS L\'INSCRIPTION DANS LA BASE</pre>';
  49.  
  50. }
  51.  
  52.  


je bloque

merci pour ton aide

F
moogli
moogli
Déconnecté
Il en faut peu pour être heureux !!!!!
Hum tu vois le ? Sur la page html resultante ?

Est ce que c'est pareil avec un shell mysql ?

Essai de changer l'encodage d'affichage avec ton navigateur pour voir le resultat.
fausto
fausto
Déconnecté
Je crois que j'ai trouvé
j'avais un éditeur de texte inclut
qui lui était encodé en iso...

je fais un peu le ménage

en tout cas le str_replace dont je parlais plus haut, fonctionne

merci encore

Fausto
fausto
fausto
Déconnecté
Oui, c'était bien çà
Désolé pour le dérangement
@+

Fausto
Répondre
Accès rapide :

Remonter Remonter
L'éditeur javascript - CSS - Gentoo - Tutoriaux PHP - Tutoriels PHP - Bretagne - php - Moto - Kit graphique