[ PHP ]
jeremieca
Messages postés
178
Date d'inscription
Statut
Membre
Dernière intervention
-
le père -
le père -
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 ?
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:
- [ PHP ]
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour a la ligne php - Forum Webmastering
- Alert php - Forum PHP
- Retour a la ligne php ✓ - Forum PHP
5 réponses
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
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
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".
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".
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.
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.