Rechercher : dans
Par :

échapper les caractère spéciaux

Dernière réponse le 5 nov 2008 à 11:16:32 comalias94, le 4 nov 2008 à 09:54:10 
 Signaler ce message aux modérateurs

Bonjour,
Je voudrais savoir comment échapper les caractère spéciaux avec MySQL
quel est le paramétrage a faire ?

J'utilise la version 5

Merci

Configuration: Windows XP
Internet Explorer 6.0

Meilleures réponses pour « échapper les caractère spéciaux » dans :
Oracle - Echappement de caractères spéciaux Voir Pour certaines requêtes SQL, nous avons besoin de rechercher des chaînes de caractères contenant des caractères spéciaux tels que '%' Dans l'exemple suivant, qui est faux, le besoin est de trouver les enregistrements contenant au milieu le caractère...
Caractères spéciaux HTML Voir Codage des caractères spéciaux Le standard HTML demande de respecter le codage des caractères ASCII 7 bits, c'est-à-dire que les caractères accentués ne sont pas autorisés. Il faut pour cela utiliser un codage particulier. Pour...
[CCM] Utiliser des caractères spéciaux Voir Vous pouvez utiliser des caractères spéciaux dans vos messages sur les forums de CCM. Vous pouvez: Soit utiliser la table de caractères Windows (charmap.exe) et copier-coller les caractères dans le message. Soit utiliser les entités...
Utiliser des accents et autres caractères spéciaux VoirDans la plupart des langages de programmation, on ne peut utiliser directement les accents et autres caractères non-anglosaxon. La solution est l'unicode, une sorte de code universel. Par exemple pour afficher la chaine de caractères : " là, ça...

1

toto, le 4 nov 2008 à 13:31:12

Bonjour

il n'y a pas de paramétrage particulier.
en php, il y a la fonction mysql_real_escape_string qui sert à cà (et surtout pas addslashes comme on voit souvent)

Répondre à toto

2

comalias94, le 5 nov 2008 à 10:01:28

Bonjour

j'ai essayer cette fonction mais aucun effet sur les cractère accentués

que faut il utiliser ?

Répondre à comalias94

3

Alain_42, le 5 nov 2008 à 10:18:51

Cette fonction ne fait rien sur les caracteres accentues, htmlentites le fait mais j'ai remarqué que ça ne marche pas bien avec les caracteres accentues recus d'un formulaire.

alors il faut te faire une petite fonction avec ereg_replace("é";"é", $chaine) par exemple

tu mets tous les carateres dans un array et tu fais une boucle

Répondre à Alain_42

4

toto, le 5 nov 2008 à 11:11:10

j'ai essayer cette fonction mais aucun effet sur les cractère accentués
Cette fonction ne fait rien sur les caractères accentués parce que les caractères accentués n'ont pas à être échappés.
Quant à htmlentities, ça sert à coder les caractères pour un affichage en html. Aucun rapport avec les bases de données, même si on lit souvent le contraire. Elle ne devrait être utilisée qu'au moment de l'affichage des données, pas avant leur stockage.

Répondre à toto

5

 comalias94, le 5 nov 2008 à 11:16:32

Ok merci Alain_42 sa fonctionne mais j'ai remarqué que mon soucis provient de ma mase de donné sql car lorsque j'envoie une requette à partir des informations (provenant d'un formulaire) sa bloque :


$result1 = mysql_query("SELECT * FROM table_champs WHERE NomInput='$temp1b' AND Champs='$temp2b'")

while($info = mysql_fetch_assoc($result1))
{
$msg=mysql_escape_string($info["Type"]);
}


ma requettes me donne un résulttat ok dans $msg seulement si l'info que je lui envoie n'a pas de caractère spécial ou de caractère accentué

PS: $temp1b et $temp2b sont issue d'un mysql_real_escape_string() et d'un ereg_replace() avant d'etre utilisé dans la requette

Merci pour votre aide

Répondre à comalias94
Collection CommentÇaMarche.net