Salut,
Je suis graphiste et j'ai accepté de refaire le design d'un site existant.
Je me suis aperçu que la personne qui avait réalisé le site, ne s'était pas occupé que son traitement.php code correctement les accents. Le traitement renvoi un mail avec les données dont les accents sont en code ISO.

Les pages où se trouvent les formulaires et celle du traitement sont bien en utf-8 :

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />


Et pour corser le tout, les caractères de certaines langues ne sont pas encodés correctement. J'ai essayé avec du grec, même en passant les pages en ISO-8859-7, je reçois du contenu du type : êáôÜ ôçí áöéîç ôïõò óôï äùìáôéï, le japonais me renvoie des caractères ISO.

Vers où devrais-je orienter ma recherche pour trouver le problème ?


J'ai cherché différents sujets traitant des problèmes proches de celui-ci sur le forum, sans trouver de réponse satisfaisante.

Merci
Modifié par yumenosoko (09 Dec 2008 - 00:19)
yumenosoko a écrit :
Vers où devrais-je orienter ma recherche pour trouver le problème ?

Corriger le script fautif?
Tu penses que cela doit venir du code php de traitement.php ?

Il faudrait que le code indique comment traiter les caractères rencontrés ?

Faut-il utiliser un script spécifique à la langue que l'on désire traiter (parce qu'un développeur japonnais écrira son script pour qu'il traite correctement les caractères de sa langue maternelle), ou il existe des scripts qui codent bien les caractères de toutes les nationalités ?

Merci Florent pour ta réponse
yumenosoko a écrit :
Tu penses que cela doit venir du code php de traitement.php ?

C'est possible, par exemple s'il utilise des fonctions qui n'acceptent que de l'ISO-8859-1 ou qui estiment recevoir de l'ISO-8859-1 par défaut.

yumenosoko a écrit :
ou il existe des scripts qui codent bien les caractères de toutes les nationalités ?

Les caractères n'ont pas de nationalité. Smiley cligne
Mais oui, il existe des scripts et fonctions qui gèrent des caractères Unicode, et notamment l'UTF-8.

Il faudrait aussi vérifier que tes problèmes sont dûs à une corruption des données, ou tout simplement au fait que les e-mails envoyés ne sont pas indiqués comme étant en UTF-8 et sont donc mal affichés. C'est peut-être tout simplement un problème de déclaration. Je vérifierais cela en premier lieu.
J'ai résolu partiellement mon soucis en ajoutant la partie en rouge dans la page de saisie :


<form name='formulaire' action='traitement.php' method='post' accept-charset='UTF-8'>

J'ai encore le soucis dans l'objet du mail, mais je devrais réussir à le résoudre.
Modifié par yumenosoko (10 Dec 2008 - 13:55)