Problème d'apostrophe

Répondre
fausto
le 23/09/2010 à 22:33
fausto
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
le 23/09/2010 à 22:54
moogli
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).

@+
Il en faut peu pour être heureux !!!!!
fausto
le 23/09/2010 à 23:00
fausto
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
moogli
le 23/09/2010 à 23:08
moogli
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....) ?

@+
Il en faut peu pour être heureux !!!!!
fausto
le 23/09/2010 à 23:14
fausto
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
moogli
le 23/09/2010 à 23:29
moogli
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.
Il en faut peu pour être heureux !!!!!
fausto
le 23/09/2010 à 23:43
fausto
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
le 23/09/2010 à 23:59
fausto
Oui, c'était bien çà
Désolé pour le dérangement
@+

Fausto
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours