caractéres spéciaux
en faite j'ai remarqué que j etais en php4 qd il a pas reconnue la fonction mysql_set_charset et qu'il connaissais pas
j'ai un peu regarder sur leur site et pour utilisé php6 j'dois renommer tous mes fichier en .php6 :/
revenons à mon probléme :)
j'ai fait un peu de nettoyage dans mon code et tous les caractére sont entré correctement dans la BDD mais...
lors de l'affichage tous est foireux avec la fonction htmlentities() il me remet tous en ISO mais uniquement lors de l'affichage :/
Regarde la documentation de
htmlentities.
Il faut lui dire que tu travailles en UTF-8 via un paramètre.
mon problémé a été résolue avec la fonction ut8_decode()
j'ai le meme soucis avec la fonction mail($email,$sujet,$message,$headers)
quand le mail est envoyé, les caractére spéciaux ont été supprimé
pourtant mon headers:
$headers ='From: "blabla"<bla@bla.com>'."\n";
$headers .='Content-Type: text/plain; charset="utf-8"'."\n";
$headers .='Content-Transfer-Encoding: 8bit';
que faire?
(subrally) Il faudrait que tu arrête de parler de caractères spéciaux. Habituellement, on désigne par cette locution les caractères qui ont un comportement magique, et qui sont en général invisible. Tels que le retour charriot ou la fin de ligne.
Et maintenant, tu devrais te poser, prendre une feuille et un crayon. Représente les flux d'échange de données dans une application PHP.
Les différents éléments qu'on peut considérer sont :
- le script PHP
- les variables PHP
- le client web
- le serveur de base données
- le client de base données
- les « variales » de la base de données
- le script SQL (potentiellement issu de ton script)
Je dois en oublier, mais je pense qu'on a l'essentiel. Chacune de ces entités peuvent utiliser un encodage différent.
Tu peux constater que le problème est complexe, et que le hasard n'est donc pas de mise dans la résolution des problèmes liés aux encodages. Il faut que tu saches quels sont les encodages utilisés, et gérer de manière éclairée.
Tu pourrais choisir de tout mettre en UTF-8. Si dans un premier temps c'est acceptable, si tu ne contrôle jamais les encodages, tu risques d'avoir des bogues, voir des trous de sécurité, très difficiles à traquer et réduire.
C'est, à mon sens, l'une des plus grandes difficultés dans le développement Web.
Une fois que tu auras compris ça, le comportement des chaînes ne te surprendra plus !
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
mon problémé a été résolue avec la fonction ut8_decode()
Tu ne l'as pas résolu : tu as changé le charset d'une chaine de caractères en la passant en ISO-8859-1. Donc ton application n'est plus UTF-8 "compliant".
A priori, tous les caractères que tu affiches (en langue française) sont disponibles dans le charset ISO-8859-1, donc tu "penses avoir résolu" le problème, mais il n'en est rien.
Imagine un caractère qui n'existe pas dans le charset ISO-8859-1. Que va faire ton utf8_decode ?
En gros, je pense comme LupusMic : il faut choisir un charset, savoir pourquoi on le choisit, et surtout s'y tenir ! Et ll ne faut surtout pas mélanger les charsets, c'est source de bug.
Ecrire un message
Votre message vient d'être créé avec succès.
BB-Code
Pour insérer une URL clickable
Pour insérer une adresse E-mail
Pour annoter
Pour écrire du code
Pour faire un lien vers une fonction PHP
Pour écrire du texte préformaté
Pour écrire du texte en gras
Pour écrire du texte en italique
Pour écrire du texte souligné
Pour écrire du texte barré
Pour écrire un titre principal
Pour écrire un titre secondaire
Pour écrire une liste
Smiley
:bond:
:boxe:
:bsmile:
:bump:
:clap:
:coeur:
:cool:
:cry:
:eek:
:evil:
:fleur:
:fou2:
:fou:
:grin:
:grrr:
:hammer:
:hippy:
:hum:
:idee2:
:idee:
:kdo:
:king:
:ko:
:lol:
:love2:
:love:
:mad:
:maitre:
:noel:
:oops:
:raa:
:razz:
:roll:
:sad:
:skull:
:smile:
:timide:
:trink:
:vice:
:vomi:
:wink:
:zzz: