Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/08/2011, 17h07   #1
Membre du Club
 
Inscription : juillet 2006
Messages : 62
Détails du profil
Informations personnelles :
Localisation : France, Meurthe et Moselle (Lorraine)

Informations forums :
Inscription : juillet 2006
Messages : 62
Points : 48
Points : 48
Par défaut Jeu de caractères

Bonjour,

Après avoir fonctionné correctement pendant des mois, l'affichage des caractères accentués se fait mal sur certaines pages html et pas sur d'autres. (Linux/Apache, Version PHP 5.2.9 )

"décudélànt" devient "décudélà nt"

A mon avis, rien a faire avec la commande du jeu de caractères. J'ai créé une nouvelle page test, le résultat est le même et n'a rien a faire avec l'ordinateur ni le navigateur, puisque j'ai testé avec différent matériels.

sur deux domaines chez le même hébergeur
www.asppi.org/test.php
www.philabourse.fr/test.php

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
print'
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
</head>
<body>
';
 
print "décudélànt";
 
print'</body></html>';
?>
Quel est ce phénomène que je ne puis maîtriser ni trouver des antécédants dans le forum.

Une bonne note à celui qui sait me dépatouiller.

Rodolphe
Rodolphe_1940 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/08/2011, 17h24   #2
Modérateur
 
Inscription : septembre 2010
Messages : 7 116
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 116
Points : 8 465
Points : 8 465
problème d'encodage UTF-8 <> ISO-8859-1, c'est l'un des plus gros sujets sur le forum
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/08/2011, 17h55   #3
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Pour être précis : le script doit être encodé en UTF-8 là. La meta est donc fausse/incohérente et le charset n'est pas indiqué dans les entêtes HTTP (header à moins de compter sur les charsets par défaut de PHP/Apache) (Content-type: text/html; charset=utf-8)
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/08/2011, 18h04   #4
Rédacteur/Modérateur
 
Avatar de Thes32
 
Homme
Développeur Web
Inscription : décembre 2006
Messages : 2 335
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : décembre 2006
Messages : 2 335
Points : 3 774
Points : 3 774
Salut,

Nous disposons d'un article sur le sujet : Passez à l'UTF-8 sans manquer une étape qui peut t'être utile.
__________________
Développeur | Zend Certified Engineer

Étapes Pour mieux se servir du forum:
1. Commencez par lire les cours et tutoriels ;
2. Faites une recherche;
3. Faites un post si rien trouvé dans les deux étapes précédentes en respectant les règles;

Nix>_Rien n'est plus pratique que la théorie
Thes32 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/08/2011, 18h07   #5
Membre Expert
 
Avatar de Eric2a
 
Homme Eric Garidacci
Inscription : septembre 2005
Messages : 1 057
Détails du profil
Informations personnelles :
Nom : Homme Eric Garidacci
Âge : 41

Informations forums :
Inscription : septembre 2005
Messages : 1 057
Points : 1 564
Points : 1 564
Salut,

Commence par ajouter la ligne ci-dessous dans le fichier .htaccess
Citation:
AddDefaultCharset iso-8859-1
Si le problême demeure, il faut revoir l'encodage des fichiers.
__________________

N'oubliez pas le vote des messages utiles ainsi que le Tag [Résolu].

Mon Site Web : Corse - Actualité, Météo, Vidéos, Logiciels, ...
Eric2a est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 30/08/2011, 19h01   #6
Membre du Club
 
Inscription : juillet 2006
Messages : 62
Détails du profil
Informations personnelles :
Localisation : France, Meurthe et Moselle (Lorraine)

Informations forums :
Inscription : juillet 2006
Messages : 62
Points : 48
Points : 48
Par défaut problème différent

Avec une vingtaine de sites Internet, je connais bien les problèmes d'encodage (si on veut), mais ici le problème est différent. A mon avis il se situe au niveau du serveur, apache ou linux ou d'une version nouvelle. Même si je procède à l'encodage UTF8 le résultat n'est pas au rendez-vous.

Il n'y a pas de raison non plus que cela ait fonctionné pendant des mois, pour tout d'un coup ne plus fonctionner tout d'un coup.

La mise en UTF a résolu un cas de problème, décudélà redevient normal, mais il n'y a plus les caractères accentués.

Le problème doit se trouver dans la synchronisation des différent éléments php, apache ou linux.

Ce qui me chagrine aussi, est le mélange des deux dysfonctionnements au niveau d'une seule page !
Rodolphe_1940 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/08/2011, 20h16   #7
Membre confirmé
 
Inscription : juillet 2011
Messages : 146
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : juillet 2011
Messages : 146
Points : 253
Points : 253
Et pourtant ils ont raisons

http://www.philabourse.fr/test.php affiche les accents car le serveur renvoie bien le header correct a savoir UTF8.

http://www.asppi.org/test.php bug car le serveur renvoie un header incorrect ISO-8859-1.

Donc soit tu force tes headers correctement dans tes pages soit tu forces au niveau apache mais la tes 2 domaines ne renvoie pas les mêmes données.

Une des solutions est dans la doc proposée par Thes32 :

Code :
1
2
 
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
Cela force le client a interpréter en utf8 tu codes tes pages en utf8 et plus de soucis.
Tolriq est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/08/2011, 01h14   #8
Membre du Club
 
Inscription : juillet 2006
Messages : 62
Détails du profil
Informations personnelles :
Localisation : France, Meurthe et Moselle (Lorraine)

Informations forums :
Inscription : juillet 2006
Messages : 62
Points : 48
Points : 48
Par défaut Je ne sais pas qui a raison

En fait, voila ce qui m'arrive:

Mon client FTP est devenu hors atteinte pour cause de DD déconnecté. J'ai donc utilisé le cpanel de l'hébergeur pour modifier quelques fichiers de variables texte.

Et c'est lors de cette modification que les fichiers texte ont subi un changement d'encodage. Je dois les corriger un à un.

Comme en plus ces fichiers texte servent à alimenter des autres fichiers qui sont générés et sauvegardés par un cronjob, je dois attendre un ou deux jours avant que toute remise en état soit visible.

Cela dit, il me semble que le problème reste, ni en UTF, ni en ISO j'ai le bon encodage, que je le place en .htacces ou en Meta.

Le problème n'est donc pas résolu.

Merci à vous de m'avoir aidé, même si la solution n'est pas encore trouvée, cela m'a permis d'avancer.
Rodolphe_1940 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h06.


 
 
 
 
Partenaires

Hébergement Web