Problème d'apostrophe
le 23/09/2010 à 22:33
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
le 23/09/2010 à 22:54
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).
@+
le 23/09/2010 à 23:00
L'apostrophe style Word : ’
ne passe pas, elle est enregistrée dans la base (remplacée), par un "?"
J'ai essayé çà :
$text = $_POST['text']; $healthy = array("’"); $yummy = array("'"); $text = str_replace($healthy, $yummy, $text);
Rien n'y fait, le addslashes non plus
c'est déprimant
Fausto
le 23/09/2010 à 23:08
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....) ?
@+
le 23/09/2010 à 23:14
J'ai mis tout çà !
les tables sont bien en UTF-8
le code :
$text = nl2br($_POST['text']); $text = utf8_encode ($text); $date = date("d-m-Y"); $heure = date("H:i"); $healthy = array(":"); $yummy = array("h"); $heure = str_replace($healthy, $yummy, $heure); $time = $date.' à '.$heure; $id = $_GET['id']; if($id==0) { //connexion mysql_query("SET NAMES 'utf8'"); $sql = "INSERT INTO table (id,texte,heure) VALUES('','$text','$time')"; $result = mysql_query($sql); $last_id = mysql_insert_id(); mysql_close(); if($result) { echo '<pre class="reg">- Les données ont bien été inscrites dans la base</pre>'; } else { echo '<pre class="reg">- PROBLÈME DANS L\'INSCRIPTION DANS LA BASE</pre>'; }
je bloque
merci pour ton aide
F
le 23/09/2010 à 23:29
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.
le 23/09/2010 à 23:43
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
le 23/09/2010 à 23:59
Oui, c'était bien çà
Désolé pour le dérangement
@+
Fausto
Accès rapide :
PHP / MySQL
HTML / CSS
Javascript
Autres technologies
Le site
Les 3H du PHP
Le bar
Script / Production personnelle
Remonter