[ PHP ]

Fermé
jeremieca Messages postés 178 Date d'inscription lundi 9 juillet 2007 Statut Membre Dernière intervention 16 mars 2015 - 11 mars 2010 à 08:19
 le père - 11 mars 2010 à 14:56
Bonjour,

J'aimerai savoir concrètement comment gérer l'encodage sous PHP. Imaginons que mon site est en ISO et ma base de donnée aussi. Normalement je n'aurais aucun problème d'encodage si ?

Maintenant si mon site est en ISO et ma base de donnée en UTF-8, je dois faire avant d'entrer les infos dans la bdd encode et à la sortie decode non ?

Je ne comprends pas bien d'où peuvent venir certains problème d'encodage. Tout semble pourtant logique mais j'ai du manquer quelque chose. Que faut-il faire ou regarder pour savoir quoi mettre dans la gestion de l'encodage ?
A voir également:

5 réponses

Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
11 mars 2010 à 10:23
Bonjour,

Il faut aussi vérifier l'encodage de tes pages PHP, si tu insères des données en dur depuis ton code.
Par exemple, si $valeur vient directement de ton site (par exemple, $valeur = $_POST['valeur'] ), mais que dans ta base, tu insères INSERT INTO truc VALUES ('référence', $valeur)

$valeur sera encodé comme ton site ;
'référence' aura l'encodage de ta page PHP.

Xavier
0
jeremieca Messages postés 178 Date d'inscription lundi 9 juillet 2007 Statut Membre Dernière intervention 16 mars 2015 28
11 mars 2010 à 14:28
Comment je peux modifier l'encodage de PHP ?
0
Bonjour

Tu ne changes pas l'encodage de PHP (ça voudrait dire quoi d'ailleurs ?) mais celui de ton script. C'est donc au niveau de l'éditeur avec lequel tu l'écris que ça ce passe : tu lui demandes d'enregistrer en utf-8 sans BOM, alors que par défaut il enregistre probablement en is8859-qqchose ou ANSI. J'insiste sur le sans BOM, sinon, tu vas revenir poser une question sur des "headers already sent".
0
jeremieca Messages postés 178 Date d'inscription lundi 9 juillet 2007 Statut Membre Dernière intervention 16 mars 2015 28
11 mars 2010 à 14:50
Ok donc le mieux c'est de mettre tout en ISO ou tout en UTF 8 ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Sûr que tu te casseras moins la tête si tu mets tout (vraiment tout) en ISO 8859-1. Mais le jeu de caractères iso est beaucoup plus réduit ; tu devras utiliser des entités HTML chaque fois que tu voudras écrire quelque chose d'un peu exotique...
Si tu fais tout en utf-8, il faut faire bien attention à toujours utiliser la bibliothèque mbstring de PHP pour toutes les manipulations de chaine, car les fonctions standard de PHP ne sont pas faites pour les chaines multioctets.
0