Bon, j'ai passé des heures à essayer toutes sortes de configurations, pas
mal au pif car je suis toujours aussi nul en PHP mais je sais
copier/coller(;o))).
Rien à faire, quand ça marche dans le Webmail Orange, ça va pas dans Outlook
Express et réciproquement.
Si ça va dans Outlook Express, dans le webmail Orange, c'est soit le body
qui déconne, soit l'objet mais j'arrive pas à avoir les accents corrects
partout en même temps.
Je bidouille le fichier PHP avec Notepd++ et j'envoie avec Filezilla, pour
éviter les problèmes de codage.
Le fichier PHP que j'envoie et qui pose le moins de problème est en format
ANSI (manque juste les accentuées dans "objet" avec OExpress) :
--------------------------------------------------
<?php
header('Content-Type: text/html; charset=UTF-8');
extract($_POST,EXTR_OVERWRITE);
if(isset($_POST['captchaResult']))
{
session_start();
$_POST['captchaResult'] = strtolower($_POST['captchaResult']);
$_SESSION['captchaResult'] = strtolower($_SESSION['captchaResult']);
if($_POST['captchaResult'] === $_SESSION['captchaResult'])
{ //captcha OK on envoi le message
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Olivier Miakinen
Le 19/06/2009 12:11, METIS a écrit :
[...]
Le fichier PHP que j'envoie et qui pose le moins de problème est en format ANSI (manque juste les accentuées dans "objet" avec OExpress) : -------------------------------------------------- [...]
Le fichier PHP que j'envoie et qui pose le moins de problème est en format
ANSI (manque juste les accentuées dans "objet" avec OExpress) :
--------------------------------------------------
[...]
Le fichier PHP que j'envoie et qui pose le moins de problème est en format ANSI (manque juste les accentuées dans "objet" avec OExpress) : -------------------------------------------------- [...]
Il manque : $headers .= "Content-Transfer-Encoding: 8bitn";
METIS
Olivier Miakinen wrote:
Le 19/06/2009 12:11, METIS a écrit :
[...]
Le fichier PHP que j'envoie et qui pose le moins de problème est en format ANSI (manque juste les accentuées dans "objet" avec OExpress) : -------------------------------------------------- [...]
Bon, je subodore que ça régle une question de charset. J'avais déjà réglé le problème du body en forçant UTF-8 avec utf8_encode()
Donc là, je forcerais le subject en iso-8859-1...? Mais comment trouver ces équivalents, je ne trouve que les &xxxx;
-- <|[;o)) METIS http://www.graphM.com Pour m'écrire en privé, moi c'est metis15 et je tourne à l'Orange...
Olivier Miakinen wrote:
Le 19/06/2009 12:11, METIS a écrit :
[...]
Le fichier PHP que j'envoie et qui pose le moins de problème est en
format ANSI (manque juste les accentuées dans "objet" avec OExpress) :
--------------------------------------------------
[...]
Le fichier PHP que j'envoie et qui pose le moins de problème est en format ANSI (manque juste les accentuées dans "objet" avec OExpress) : -------------------------------------------------- [...]
Bon, je subodore que ça régle une question de charset.
Ça règle la question du charset *dans les entêtes*, ce qui n'a strictement rien à voir avec la question du charset *dans le corps* du message. Ces questions sont complètement indépendantes l'une de l'autre.
Pour que ce soit bien clair, tu peux avoir :
- un body en UTF-8 et un entête en ASCII - un body en UTF-8 et un entête en Latin1 (c'est le cas ici) - un body en UTF-8 et un entête en UTF-8 - un body en Latin1 et un entête en ASCII - un body en Latin1 et un entête en Latin1 - un body en Latin1 et un entête en UTF-8 - un body en ASCII et un entête en ASCII - un body en ASCII et un entête en Latin1 - un body en ASCII et un entête en UTF-8 - etc., y compris deux entêtes dans des charsets différents
J'avais déjà réglé le problème du body en forçant UTF-8 avec utf8_encode()
C'est très bien. Ne casse surtout pas ça si ça marche.
Donc là, je forcerais le subject en iso-8859-1...?
Ben oui. Par défaut il est en ASCII si tu ne précises rien, même si tu as un Content-Type différent d'ASCII pour le corps du message.
Mais comment trouver ces équivalents, je ne trouve que les &xxxx;
Ton courrielleur peut le faire pour toi, et même ton nouvelleur, quoique ce ne soit toujours pas normalisé pour les news. Prends par exemple le sujet de ce fil : tu avais écrit /Toujours des problèmes avec envoiPHP/ avant que je ne retire l'accent dans mes réponses. Eh bien va relire ton premier article, fais un truc du genre de « Affichage / Code source du message » (l'intitulé peut varier selon ton logiciel), et cherche la ligne qui commence par « Subject: ». S'il te plaît, fais-le vraiment : je sais bien que tu n'es pas un programmeur, mais ça au moins tu devrais pouvoir y arriver.
Quand tu l'auras fait, viens copier-coller le résultat dans ta réponse.
Bon, je subodore que ça régle une question de charset.
Ça règle la question du charset *dans les entêtes*, ce qui n'a
strictement rien à voir avec la question du charset *dans le corps*
du message. Ces questions sont complètement indépendantes l'une de
l'autre.
Pour que ce soit bien clair, tu peux avoir :
- un body en UTF-8 et un entête en ASCII
- un body en UTF-8 et un entête en Latin1 (c'est le cas ici)
- un body en UTF-8 et un entête en UTF-8
- un body en Latin1 et un entête en ASCII
- un body en Latin1 et un entête en Latin1
- un body en Latin1 et un entête en UTF-8
- un body en ASCII et un entête en ASCII
- un body en ASCII et un entête en Latin1
- un body en ASCII et un entête en UTF-8
- etc., y compris deux entêtes dans des charsets différents
J'avais déjà réglé le problème du body en forçant UTF-8 avec utf8_encode()
C'est très bien. Ne casse surtout pas ça si ça marche.
Donc là, je forcerais le subject en iso-8859-1...?
Ben oui. Par défaut il est en ASCII si tu ne précises rien, même si tu
as un Content-Type différent d'ASCII pour le corps du message.
Mais comment trouver ces équivalents, je ne trouve que les &xxxx;
Ton courrielleur peut le faire pour toi, et même ton nouvelleur, quoique
ce ne soit toujours pas normalisé pour les news. Prends par exemple le
sujet de ce fil : tu avais écrit /Toujours des problèmes avec envoiPHP/
avant que je ne retire l'accent dans mes réponses. Eh bien va relire ton
premier article, fais un truc du genre de « Affichage / Code source du
message » (l'intitulé peut varier selon ton logiciel), et cherche la
ligne qui commence par « Subject: ». S'il te plaît, fais-le vraiment :
je sais bien que tu n'es pas un programmeur, mais ça au moins tu devrais
pouvoir y arriver.
Quand tu l'auras fait, viens copier-coller le résultat dans ta réponse.
Bon, je subodore que ça régle une question de charset.
Ça règle la question du charset *dans les entêtes*, ce qui n'a strictement rien à voir avec la question du charset *dans le corps* du message. Ces questions sont complètement indépendantes l'une de l'autre.
Pour que ce soit bien clair, tu peux avoir :
- un body en UTF-8 et un entête en ASCII - un body en UTF-8 et un entête en Latin1 (c'est le cas ici) - un body en UTF-8 et un entête en UTF-8 - un body en Latin1 et un entête en ASCII - un body en Latin1 et un entête en Latin1 - un body en Latin1 et un entête en UTF-8 - un body en ASCII et un entête en ASCII - un body en ASCII et un entête en Latin1 - un body en ASCII et un entête en UTF-8 - etc., y compris deux entêtes dans des charsets différents
J'avais déjà réglé le problème du body en forçant UTF-8 avec utf8_encode()
C'est très bien. Ne casse surtout pas ça si ça marche.
Donc là, je forcerais le subject en iso-8859-1...?
Ben oui. Par défaut il est en ASCII si tu ne précises rien, même si tu as un Content-Type différent d'ASCII pour le corps du message.
Mais comment trouver ces équivalents, je ne trouve que les &xxxx;
Ton courrielleur peut le faire pour toi, et même ton nouvelleur, quoique ce ne soit toujours pas normalisé pour les news. Prends par exemple le sujet de ce fil : tu avais écrit /Toujours des problèmes avec envoiPHP/ avant que je ne retire l'accent dans mes réponses. Eh bien va relire ton premier article, fais un truc du genre de « Affichage / Code source du message » (l'intitulé peut varier selon ton logiciel), et cherche la ligne qui commence par « Subject: ». S'il te plaît, fais-le vraiment : je sais bien que tu n'es pas un programmeur, mais ça au moins tu devrais pouvoir y arriver.
Quand tu l'auras fait, viens copier-coller le résultat dans ta réponse.
Il manque : $headers .= "Content-Transfer-Encoding: 8bitn";
==>En plus du reste ?
Oui, en plus du reste. Les trois entêtes obligatoires pour déclarer un jeu de caractères autre qu'ASCII dans un message, en utilisant MIME, sont MIME-Version, Content-type et Content-Transfer-Encoding.
Ah, s'il y avait des vérificateurs de conformité des courriels, comme il en existe pour les pages HTML ! Parce que c'est exactement la même problématique : tu peux avoir l'impression que ça marche en essayant avec un ou deux logiciels, alors que ta syntaxe peut être complètement incorrecte.
(càd l'encodage du subject en iso-8859-1)
Ça n'a *RIEN* à voir. Les trois entêtes MIME ci-dessus concernent l'encodage du corps, l'encodage du Subject est autre chose. Mais l'un comme l'autre peuvent être incorrects, et d'ailleurs dans ton cas ils étaient incorrects tous les deux.
Il manque :
$headers .= "Content-Transfer-Encoding: 8bitn";
==>En plus du reste ?
Oui, en plus du reste. Les trois entêtes obligatoires pour déclarer
un jeu de caractères autre qu'ASCII dans un message, en utilisant
MIME, sont MIME-Version, Content-type et Content-Transfer-Encoding.
Ah, s'il y avait des vérificateurs de conformité des courriels, comme
il en existe pour les pages HTML ! Parce que c'est exactement la même
problématique : tu peux avoir l'impression que ça marche en essayant
avec un ou deux logiciels, alors que ta syntaxe peut être complètement
incorrecte.
(càd l'encodage du subject en iso-8859-1)
Ça n'a *RIEN* à voir. Les trois entêtes MIME ci-dessus concernent
l'encodage du corps, l'encodage du Subject est autre chose. Mais
l'un comme l'autre peuvent être incorrects, et d'ailleurs dans ton
cas ils étaient incorrects tous les deux.
Il manque : $headers .= "Content-Transfer-Encoding: 8bitn";
==>En plus du reste ?
Oui, en plus du reste. Les trois entêtes obligatoires pour déclarer un jeu de caractères autre qu'ASCII dans un message, en utilisant MIME, sont MIME-Version, Content-type et Content-Transfer-Encoding.
Ah, s'il y avait des vérificateurs de conformité des courriels, comme il en existe pour les pages HTML ! Parce que c'est exactement la même problématique : tu peux avoir l'impression que ça marche en essayant avec un ou deux logiciels, alors que ta syntaxe peut être complètement incorrecte.
(càd l'encodage du subject en iso-8859-1)
Ça n'a *RIEN* à voir. Les trois entêtes MIME ci-dessus concernent l'encodage du corps, l'encodage du Subject est autre chose. Mais l'un comme l'autre peuvent être incorrects, et d'ailleurs dans ton cas ils étaient incorrects tous les deux.
METIS
Olivier Miakinen wrote:
Le 19/06/2009 13:41, METIS a écrit :
Mais comment trouver ces équivalents, je ne trouve que les &xxxx;
Ton courrielleur peut le faire pour toi, et même ton nouvelleur, quoique ce ne soit toujours pas normalisé pour les news. Prends par exemple le sujet de ce fil : tu avais écrit /Toujours des problèmes avec envoiPHP/ avant que je ne retire l'accent dans mes réponses. Eh bien va relire ton premier article, fais un truc du genre de « Affichage / Code source du message » (l'intitulé peut varier selon ton logiciel), et cherche la ligne qui commence par « Subject: ». S'il te plaît, fais-le vraiment : je sais bien que tu n'es pas un programmeur, mais ça au moins tu devrais pouvoir y arriver.
Quand tu l'auras fait, viens copier-coller le résultat dans ta réponse.
==>Hé oui : Subject: =?iso-8859-1?Q?Toujours_des_problèmes_avec_envoiPHP? Bon, sur le forum de mon hébergeur, un pote m'a répondu en envoyant un code PHP que je viens de tester avec des accents partout, ça marche, avec OE et le Webmail Orange!!!
Côté description, pas bon, Côté champs du formulaire, bon... ETC...
-- <|[;o)) METIS http://www.graphM.com Pour m'écrire en privé, moi c'est metis15 et je tourne à l'Orange...
Olivier Miakinen wrote:
Le 19/06/2009 13:41, METIS a écrit :
Mais comment trouver ces équivalents, je ne trouve que les &xxxx;
Ton courrielleur peut le faire pour toi, et même ton nouvelleur, quoique
ce ne soit toujours pas normalisé pour les news. Prends par exemple le
sujet de ce fil : tu avais écrit /Toujours des problèmes avec envoiPHP/
avant que je ne retire l'accent dans mes réponses. Eh bien va relire ton
premier article, fais un truc du genre de « Affichage / Code source du
message » (l'intitulé peut varier selon ton logiciel), et cherche la
ligne qui commence par « Subject: ». S'il te plaît, fais-le vraiment :
je sais bien que tu n'es pas un programmeur, mais ça au moins tu devrais
pouvoir y arriver.
Quand tu l'auras fait, viens copier-coller le résultat dans ta réponse.
==>Hé oui :
Subject: =?iso-8859-1?Q?Toujours_des_problèmes_avec_envoiPHP?
Bon, sur le forum de mon hébergeur, un pote m'a répondu en envoyant un code
PHP que je viens de tester avec des accents partout, ça marche, avec OE et
le Webmail Orange!!!
Mais comment trouver ces équivalents, je ne trouve que les &xxxx;
Ton courrielleur peut le faire pour toi, et même ton nouvelleur, quoique ce ne soit toujours pas normalisé pour les news. Prends par exemple le sujet de ce fil : tu avais écrit /Toujours des problèmes avec envoiPHP/ avant que je ne retire l'accent dans mes réponses. Eh bien va relire ton premier article, fais un truc du genre de « Affichage / Code source du message » (l'intitulé peut varier selon ton logiciel), et cherche la ligne qui commence par « Subject: ». S'il te plaît, fais-le vraiment : je sais bien que tu n'es pas un programmeur, mais ça au moins tu devrais pouvoir y arriver.
Quand tu l'auras fait, viens copier-coller le résultat dans ta réponse.
==>Hé oui : Subject: =?iso-8859-1?Q?Toujours_des_problèmes_avec_envoiPHP? Bon, sur le forum de mon hébergeur, un pote m'a répondu en envoyant un code PHP que je viens de tester avec des accents partout, ça marche, avec OE et le Webmail Orange!!!
Ben oui. La raison en est très simple, et on a été plusieurs à tenter de te l'expliquer plusieurs fois. Mais visiblement il y a quelque chose qui te bloque et t'empêche de la comprendre, alors pour ma part j'ai fini par abandonner.
Ben oui. La raison en est très simple, et on a été plusieurs à tenter de
te l'expliquer plusieurs fois. Mais visiblement il y a quelque chose qui
te bloque et t'empêche de la comprendre, alors pour ma part j'ai fini
par abandonner.
Ben oui. La raison en est très simple, et on a été plusieurs à tenter de te l'expliquer plusieurs fois. Mais visiblement il y a quelque chose qui te bloque et t'empêche de la comprendre, alors pour ma part j'ai fini par abandonner.
Ben oui. La raison en est très simple, et on a été plusieurs à tenter de te l'expliquer plusieurs fois. Mais visiblement il y a quelque chose qui te bloque et t'empêche de la comprendre, alors pour ma part j'ai fini par abandonner.
==>Oui, j'ai fini par comprendre. Encoder le fichier au départ en utilisant Notepad++. Bon, mais j'avais encore d'autres problèmes... ANSI, UTF-8, UTF-8 (sans BOM) donnaient toujours des résultats différents, partiellement satisfaisants.
PS : ton adresse est valide ?
-- <|[;o)) METIS http://www.graphM.com Pour m'écrire en privé, moi c'est metis15 et je tourne à l'Orange...
Ben oui. La raison en est très simple, et on a été plusieurs à tenter de
te l'expliquer plusieurs fois. Mais visiblement il y a quelque chose qui
te bloque et t'empêche de la comprendre, alors pour ma part j'ai fini
par abandonner.
==>Oui, j'ai fini par comprendre.
Encoder le fichier au départ en utilisant Notepad++.
Bon, mais j'avais encore d'autres problèmes...
ANSI, UTF-8, UTF-8 (sans BOM) donnaient toujours des résultats différents,
partiellement satisfaisants.
PS : ton adresse est valide ?
--
<|[;o)) METIS
http://www.graphM.com
Pour m'écrire en privé,
moi c'est metis15 et
je tourne à l'Orange...
Ben oui. La raison en est très simple, et on a été plusieurs à tenter de te l'expliquer plusieurs fois. Mais visiblement il y a quelque chose qui te bloque et t'empêche de la comprendre, alors pour ma part j'ai fini par abandonner.
==>Oui, j'ai fini par comprendre. Encoder le fichier au départ en utilisant Notepad++. Bon, mais j'avais encore d'autres problèmes... ANSI, UTF-8, UTF-8 (sans BOM) donnaient toujours des résultats différents, partiellement satisfaisants.
PS : ton adresse est valide ?
-- <|[;o)) METIS http://www.graphM.com Pour m'écrire en privé, moi c'est metis15 et je tourne à l'Orange...
Ben oui. La raison en est très simple, et on a été plusieurs à tenter de te l'expliquer plusieurs fois. Mais visiblement il y a quelque chose qui te bloque et t'empêche de la comprendre, alors pour ma part j'ai fini par abandonner.
==>Oui, j'ai fini par comprendre. Encoder le fichier au départ en utilisant Notepad++.
Ok. Ça te permet de maîtriser le charset de l'une de tes sources de caractères : ceux qui sont codés en dur dans le fichier PHP.
D'autres sources sont : - ce qui vient du formulaire ($_POST[] ou $_REQUEST[]) - ce qui vient de la base de données
Et tu as plusieurs déclarations à gérer : - entêtes HTTP, header("Content-Type...") - éventuellement pseudo-entête META http-equiv - déclaration MIME dans le courriel
Bon, mais j'avais encore d'autres problèmes... ANSI, UTF-8, UTF-8 (sans BOM) donnaient toujours des résultats différents, partiellement satisfaisants.
Rien ne pourra être complètement satisfaisant tant que tu ne comprendras pas, à chaque étape et pour chaque caractère, quels sont les octets envoyés, et comment c'est censé être interprété.
PS : ton adresse est valide ?
Oui, mais j'ai encore moins de temps à perdre par courriel privé que sur usenet. En public, au moins, j'ai l'espoir que le temps que je passe pourra servir à d'autres personnes que toi.
Ben oui. La raison en est très simple, et on a été plusieurs à tenter de
te l'expliquer plusieurs fois. Mais visiblement il y a quelque chose qui
te bloque et t'empêche de la comprendre, alors pour ma part j'ai fini
par abandonner.
==>Oui, j'ai fini par comprendre.
Encoder le fichier au départ en utilisant Notepad++.
Ok. Ça te permet de maîtriser le charset de l'une de tes sources de
caractères : ceux qui sont codés en dur dans le fichier PHP.
D'autres sources sont :
- ce qui vient du formulaire ($_POST[] ou $_REQUEST[])
- ce qui vient de la base de données
Et tu as plusieurs déclarations à gérer :
- entêtes HTTP, header("Content-Type...")
- éventuellement pseudo-entête META http-equiv
- déclaration MIME dans le courriel
Bon, mais j'avais encore d'autres problèmes...
ANSI, UTF-8, UTF-8 (sans BOM) donnaient toujours des résultats différents,
partiellement satisfaisants.
Rien ne pourra être complètement satisfaisant tant que tu ne comprendras
pas, à chaque étape et pour chaque caractère, quels sont les octets
envoyés, et comment c'est censé être interprété.
PS : ton adresse est valide ?
Oui, mais j'ai encore moins de temps à perdre par courriel privé que sur
usenet. En public, au moins, j'ai l'espoir que le temps que je passe
pourra servir à d'autres personnes que toi.
Ben oui. La raison en est très simple, et on a été plusieurs à tenter de te l'expliquer plusieurs fois. Mais visiblement il y a quelque chose qui te bloque et t'empêche de la comprendre, alors pour ma part j'ai fini par abandonner.
==>Oui, j'ai fini par comprendre. Encoder le fichier au départ en utilisant Notepad++.
Ok. Ça te permet de maîtriser le charset de l'une de tes sources de caractères : ceux qui sont codés en dur dans le fichier PHP.
D'autres sources sont : - ce qui vient du formulaire ($_POST[] ou $_REQUEST[]) - ce qui vient de la base de données
Et tu as plusieurs déclarations à gérer : - entêtes HTTP, header("Content-Type...") - éventuellement pseudo-entête META http-equiv - déclaration MIME dans le courriel
Bon, mais j'avais encore d'autres problèmes... ANSI, UTF-8, UTF-8 (sans BOM) donnaient toujours des résultats différents, partiellement satisfaisants.
Rien ne pourra être complètement satisfaisant tant que tu ne comprendras pas, à chaque étape et pour chaque caractère, quels sont les octets envoyés, et comment c'est censé être interprété.
PS : ton adresse est valide ?
Oui, mais j'ai encore moins de temps à perdre par courriel privé que sur usenet. En public, au moins, j'ai l'espoir que le temps que je passe pourra servir à d'autres personnes que toi.