PHP encodage ISO-8859-1
Fermé
belgikoi
Messages postés
44
Date d'inscription
mercredi 30 novembre 2011
Statut
Membre
Dernière intervention
15 octobre 2012
-
26 févr. 2012 à 16:15
le père - 26 févr. 2012 à 21:18
le père - 26 févr. 2012 à 21:18
A voir également:
- PHP encodage ISO-8859-1
- Fichier iso - Guide
- Windows 10 iso - Guide
- Ubuntu iso - Télécharger - Systèmes d'exploitation
- Easy php - Télécharger - Divers Web & Internet
- Power iso 32 bits - Télécharger - Gravure
3 réponses
Bonjour
Je ne sais pas ce que veut dire que PHP est encodé en ISO-8859-1 ou en UTF-8 et je ne suis pas sûr que cette façon de dire les choses ait un sens.
Si tu écris echo "héhé"; dans un script php, c'est ton éditeur de texte qui détermine si le héhé est encodé en ISO-8859-1 ou en UTF-8, pas le PHP. Et quand tu l'exécuteras dans un script, l'affichage ne sera correct que si tu as bien précisé le bon type d'encodage dans les en-têtes (ou que tu tombes par hasard sur l'encodage par défaut).
Bref, PHP ne va pas changer de lui même l'encodage d'une chaîne, Si tu lui fournis directement le bon encodage au départ, tu n'as rien de spécial à faire.
Je ne sais pas ce que veut dire que PHP est encodé en ISO-8859-1 ou en UTF-8 et je ne suis pas sûr que cette façon de dire les choses ait un sens.
Si tu écris echo "héhé"; dans un script php, c'est ton éditeur de texte qui détermine si le héhé est encodé en ISO-8859-1 ou en UTF-8, pas le PHP. Et quand tu l'exécuteras dans un script, l'affichage ne sera correct que si tu as bien précisé le bon type d'encodage dans les en-têtes (ou que tu tombes par hasard sur l'encodage par défaut).
Bref, PHP ne va pas changer de lui même l'encodage d'une chaîne, Si tu lui fournis directement le bon encodage au départ, tu n'as rien de spécial à faire.
belgikoi
Messages postés
44
Date d'inscription
mercredi 30 novembre 2011
Statut
Membre
Dernière intervention
15 octobre 2012
6
26 févr. 2012 à 19:42
26 févr. 2012 à 19:42
Bonjour, merci de t'intéresser à mon problème.
C'est vrai que je me suis un peu mal exprimé.
En fait, mon application cliente envoie des variables au script php.
Ce-dernier interroge une BDD et retourne le ou les résultats.
Bien sûr, il y a parfois des accents, que PHP me renvoie sous forme de points d'interrogation. Or, j'aimerai conserver ces accents...
Quand tu dis:
Est-ce que je dois modifier des paramètres dans ma base de données ? Puisque c'est ma base de données qui fourni les caractères spéciaux...
Si oui comment ? J'utilise PHPMyAdmin et mon SGBD est MySQL.
C'est vrai que je me suis un peu mal exprimé.
En fait, mon application cliente envoie des variables au script php.
Ce-dernier interroge une BDD et retourne le ou les résultats.
Bien sûr, il y a parfois des accents, que PHP me renvoie sous forme de points d'interrogation. Or, j'aimerai conserver ces accents...
Quand tu dis:
Si tu lui fournis directement le bon encodage au départ, tu n'as rien de spécial à faire
Est-ce que je dois modifier des paramètres dans ma base de données ? Puisque c'est ma base de données qui fourni les caractères spéciaux...
Si oui comment ? J'utilise PHPMyAdmin et mon SGBD est MySQL.
Si tu vois de points d'interrogation à la place des caractères accentués, c'est probablement que des données encodées en iso8859-1 (ou tout autre encodage mono octet) sont à un moment ou un autre traitées comme de l'utf-8. Ceci conduit à des codes interdits, que les logiciels traitent comme ils peuvent, souvent en les remplaçant par des points d'interrogation.
L'origine du problème peut se situer à plusieurs niveaux.
Au niveau de l'affichage par exemple : tout est correctement encodé en iso 8859-1 mais la page d'affichage a une balise meta avec charset utf-8.
Au niveau du stockage dans la base de données : les tables sont déclarées en utf-8, mais on leur donne à enregistrer des chaînes qui sont en fait encodées en iso 8859-1.
Et il y a sûrement d'autres possibilités.
c'est ma base de données qui fourni les caractères spéciaux...
Oui mais elle ne les a pas inventés. Qui les lui a fournis, et comment ?
L'origine du problème peut se situer à plusieurs niveaux.
Au niveau de l'affichage par exemple : tout est correctement encodé en iso 8859-1 mais la page d'affichage a une balise meta avec charset utf-8.
Au niveau du stockage dans la base de données : les tables sont déclarées en utf-8, mais on leur donne à enregistrer des chaînes qui sont en fait encodées en iso 8859-1.
Et il y a sûrement d'autres possibilités.
c'est ma base de données qui fourni les caractères spéciaux...
Oui mais elle ne les a pas inventés. Qui les lui a fournis, et comment ?