Caractère speciaux dossier [php-linux]

[Fermé]
Signaler
Messages postés
927
Date d'inscription
mercredi 28 mai 2008
Statut
Membre
Dernière intervention
16 juin 2013
-
Messages postés
927
Date d'inscription
mercredi 28 mai 2008
Statut
Membre
Dernière intervention
16 juin 2013
-
Bonjour,
j'ai un script php qui récupère les nom desdossièrs et me les mets dans une liste déroulante, sous win, tout baigne mais sur mon serveur, j'ai des caractères bizzar a la place des accents....

Ma page est en charset=iso-8859-15 mais le texte avec accents est très bien affiché, il ne s'agit juste des nom de répertoires dans ma liste déroulante.

Que puis-je faire ?? modification du php ou paramètrage linux ... ???
merci

3 réponses

Messages postés
3645
Date d'inscription
dimanche 18 mars 2001
Statut
Modérateur
Dernière intervention
15 janvier 2017
954
Vérifie l'encodage de ta page. Personnellementt, je n'utilise que de l'utf8
johand@osiris:/var/www$ cat brol.html
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf8" />
</head>
<body>
éééé<a href="/doc/">Documentation locale</a>
</body>
</html>
johand@osiris:/var/www$ cat brol2.html
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
</head>
<body>
éééé<a href="/doc/">Documentation locale</a>
</body>
</html>

Regarde la différence dans ton navigateur.
Sous Linux tu peux utiliser iconv pour les conversions.
Si tu as la maîtrise du serveur (Apache, je suppose...); tu peux configurer le charset au niveau des fichiers de config d'Apache. C'est lui qui enverra les entêtes HTTP appropriées.
Messages postés
927
Date d'inscription
mercredi 28 mai 2008
Statut
Membre
Dernière intervention
16 juin 2013
84
Salut, ta du lire trops vite ,

" Ma page est en charset=iso-8859-15 " le souci n'est pas dans l'affichage de mes accents, le texte s'affiche bien avec les accents.
Mais le script de récuperation des noms de dossier ...
Messages postés
927
Date d'inscription
mercredi 28 mai 2008
Statut
Membre
Dernière intervention
16 juin 2013
84
Salut,

Vérifie l'encodage de ta page. Personnellementt, je n'utilise que de l'utf8
Ma page est en charset=iso-8859-15 mais le texte avec accents est très bien affiché, il ne s'agit juste des nom de répertoires dans ma liste déroulante.


le problème ne vient pas des caractères dans ma page mais de ceux récupérés dans mon script ..
Bonjour,

Vous avez probablement une différence de codage entre le contenu de vos pages et vos noms de répertoire.

A priori php ne convertit pas les codages. Les codages à la sortie sont ceux des fichiers qu'il a utilisés. De même les noms de répertoire ont le codage qui a été utilisé pour créer ces répertoires.

Il vous faut donc modifier les paramétrages des outils qui vous ont servi à créer le texte affiché par php et à créer les répertoires...Mais souvent ça a des impacts en chaîne, et il faut se résoudre à se retrousse les manches pour introduire des conversions dans les maillons que l'on maîtrise.

Notez aussi que Windows ne connaît en général pas l'iso-8859-15, et utilise ses codages propres (en général cp1252 pour l'Europe Occidentale, regardez si vous affichez correctement le signe euro).

Manu
Messages postés
927
Date d'inscription
mercredi 28 mai 2008
Statut
Membre
Dernière intervention
16 juin 2013
84
personne pour m'aider ??