Problème avec apostrophes, guillemets,euros

Eléphanteau du PHP | 23 Messages

02 juin 2010, 12:55

J'utilise la fonction mysql_real_escape_string

Code : Tout sélectionner

$nom=mysql_real_escape_string($nom);
mais les caractères spéciaux sont affichés avec une /
Quand à €, il n'est pas affiché du tout.
:?:

Merci de votre aide

ViPHP
AB
ViPHP | 5818 Messages

02 juin 2010, 13:03

mysql_real_escape_string() c'est approprié pour protéger l'insertion de données dans une requête, mais pas pour afficher du texte dans une page.

Eléphanteau du PHP | 23 Messages

02 juin 2010, 13:14

Ah bon. Merci.
Mais je fais comment pour visualiser les caractères /, " et € ? :?:

ViPHP
AB
ViPHP | 5818 Messages

02 juin 2010, 13:18

Pour protéger l'affichage faits plutôt
<?php echo htmlspecialchars($variable)?>

Eléphanteau du PHP | 23 Messages

02 juin 2010, 13:34

C'est bizarre : au lieu d'enregistrer €, il enregistre ? dans la base

Eléphanteau du PHP | 23 Messages

02 juin 2010, 13:45

Avec stripslashes(), j'ai résolu le problème des apostrophes et guillemets.
Il ne reste plus que ce fichu € qui devient ? :mrgreen:

ViPHP
ViPHP | 5462 Messages

02 juin 2010, 16:34

Avec stripslashes(), j'ai résolu le problème des apostrophes et guillemets.
Il ne reste plus que ce fichu € qui devient ? :mrgreen:
t'as tout dans le même charset ?

Eléphanteau du PHP | 23 Messages

02 juin 2010, 17:49

Comprends pas la question :!:

ViPHP
ViPHP | 5462 Messages

02 juin 2010, 18:00

Comprends pas la question :!:
en quelle encodage est le texte UTf-8 IOS-8859-1 ..... ?

Eléphanteau du PHP | 23 Messages

02 juin 2010, 19:55

UTf-8

Code : Tout sélectionner

if(isset($_POST['nom'])) $nom= utf8_decode($_POST['nom']); else $nom="inconnu";

ViPHP
AB
ViPHP | 5818 Messages

02 juin 2010, 20:53

Tu ne devrais pas avoir besoin du utf8_decode pour récupérer les données de ton formulaire...

Si toute ta page et ta bdd étaient effectivement codés en utf-8, tu ne devrais pas avoir de pb particulier pour afficher le €

Si besoin un tuto sur l'encodage en utf-8

Eléphanteau du PHP | 23 Messages

02 juin 2010, 21:11

Ma base est bien codée en UTF-8 et voici mon code php

Code : Tout sélectionner

echo "&".$var."=".utf8_encode($val); } envoi("idUtilisateur",$idUtilisateur ); $sql= "SELECT * FROM todo WHERE idUtilisateur = '$idUtilisateur' AND termine=0 ORDER BY date"; $rs =mysql_query($sql, $connexionLogin) or die(mysql_error()); //$row_rs= mysql_fetch_assoc($rs); $total_rs = mysql_num_rows($rs); envoi("total",$total_rs ); envoi("type",$type ); if(($total_rs !=0)){ $counter=0; while($row_rs= mysql_fetch_assoc($rs)) { $id = $row_rs['idAction']; envoi("id".$counter, $id); $nom = $row_rs['nom']; stripslashes($nom); htmlspecialchars($nom); envoi("nom".$counter, $nom); $couleur = $row_rs['couleur']; envoi("couleur".$counter, $couleur); $counter++; envoi("retour","visualisation"); }
Et le signe euro n'est pas affiché

ViPHP
ViPHP | 5462 Messages

03 juin 2010, 10:35

et dans ta base il est afficher comment ? la charset de ta table sql c'est bien de l'utf-8 aussi ?

Eléphanteau du PHP | 23 Messages

03 juin 2010, 10:46

Jeu de caractères pour MySQL: UTF-8 Unicode (utf8)

Interclassement pour la connexion MySQL: utf8_general_ci

ViPHP
ViPHP | 5462 Messages

03 juin 2010, 10:48

Jeu de caractères pour MySQL: UTF-8 Unicode (utf8)

Interclassement pour la connexion MySQL: utf8_general_ci
et dans ta base tu vois bien les € ?

je vois que ta la petit fonction avec
echo "&".$var."=".utf8_encode($val);
c'est pour l'envoyer a du flash derrière ?