Journal d'un avocat

Instantanés de la justice et du droit

Aller au contenu | Aller au menu | Aller à la recherche

Geeks, mes amis

Je m'extirpe de mes dossiers quelques instants pour lancer un nouvel appel aux geeks qui me lisent, les précédents ayant été si efficaces.

J'ai installé un formulaire pour que mes lecteurs puissent m'envoyer un e mail, sur cette page.

Las, je suis en UTF-8, ce qui ne semble pas le cas du formulaire, et les caractères accentués m'arrivent tout bouleversés ce qui rend la lecture pénible.

Y a-t-il une solution ?

Merci d'avance.

Commentaires

1. Le jeudi 7 avril 2005 à 22:58 par Sébastien

A question aux geeks reponse de geek... Dans le lecteur de mail thunderbird il est possible, pour un dossier, de force l'encodage des emails. Il faut donc copier les messages recu du formulaire (ou bien créer une regle qui cpie automatiquement ces messages dans ce dossier) et forcer l'encodage de se dossier dans l'encodage voulu en cliquant avec le bouton droit sur le dossier et en faisant 'proprietés'.

Je ne suis pas sûr d'avoir été trés clair, donc n'hesitez pas à m'importuner par mail si necessaire...

2. Le jeudi 7 avril 2005 à 23:21 par Thom

Pas sûr mais c'est peut-être lors de l'envoi que ca part en sucette... si c'est le cas, dans le script d'envoi d'email et plus particulièrement dans la partie en-tête, il doit y avoir une ligne qui précise le "content-type" et le "charset".
Pour le charset, il faut mettre "UTF-8" au lieu de "iso-8859-1" (l'encodage "classique").
Sur une autre ligne, tu dois avoir le "Content-Transfer-Encoding", essaie de le mettre à "7bit".
De mon côté, ca marche avec ces deux paramètres.

3. Le jeudi 7 avril 2005 à 23:40 par MadCoder

Comme le dit Thom, en plus précis : utiliser <form ...> ainsi :

<form accept-charset="utf-8" action="/journal/index.php?/contact">
<!-- ... -->
</form>


et ensuite, le script qui crée le mail doit ajouter les en-têtes :

Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit

Il ne faut pas mettre 7bits, parce que le contenu n'est pas us-ascii. pour avoir un C-T-E en 7bits, il faudrait utiliser des encodages quoted-printable ou base64 qui vont alourdir le code pour peu de gain. il est plus simple de laisser en 8bits.


Je ne veux plus JAMAIS lire ici que le langague juridique est obscur et incompréhensible !

Merci cela dit de ces bouts de code, reste la question du béotien que je suis : et je le mets où, ce code ?

Eolas

4. Le vendredi 8 avril 2005 à 00:42 par yves

La page "Me contacter" est générée par un template dotclear ou par un plugin?

C'est au niveau du code dudit template ou dudit plugin qu'il faut faire les modifications, si j'ai bien compris.


Heuuuuuuuu........

Eolas

5. Le vendredi 8 avril 2005 à 01:44 par E.

Eolas :
> Heuuuuuuuu........

La déclaration de charset (déclaration de UTF de votre logiciel de mail), il faut la mettre dans la configuration de votre logiciel. Ou, si vous utilisez l'interface Web de Gmail, il faut proceder comme ceci :
gmail.google.com/support/...


Je vais paraitre chiant, mais si avec cette manipe certes les accents apparaissent correctement, les lignes ne sont plus coupées et il me faudrait un écran de 2 mètres de large pour voir les lignes en entier. Je ne sais pas ce qui est le plus déplaisant... Merci de ces pistes, en tout cas.

Eolas

6. Le vendredi 8 avril 2005 à 06:53 par Kozlika

A toutes fins utiles, le fichier (non personnalisé) est consultable au format texte sur www.kozlika.org/dotclear/...

Il est inséré à l'aide d'un plugin pour DotClear (Related) et ne comporte donc pas de <head>.

7. Le vendredi 8 avril 2005 à 07:51 par Ankou

ça me rassure, enfin un gars qui s'y connaît autant que moi :)

8. Le vendredi 8 avril 2005 à 08:48 par MadCoder

voici le plugin corrigé (depuis le lien de Kozlika)

www.madism.org/~madcoder/...

les modifications sont :
* à la ligne 61, dans le <form ...> j'ai ajouté le fameux accept-charset
* à la fin du fichier (lignes 99-102) j'ai ajouté et corrigé des entetes (la ligne From: du mail était mauvaise, et j'ai ajouté les lignes 101-102, et ajouté un retour à la ligne à la fin de la ligne 100)

c'est non testé, mais ca devrait marcher.

9. Le vendredi 8 avril 2005 à 09:01 par MadCoder

Eolas: « Je ne veux plus JAMAIS lire ici que le langague juridique est obscur et incompréhensible ! »

Le langague juridique est obscur et incompréhensible pour les non juristes, mais au moins le langage juridique est plutot normé.

Les informaticiens sont obscures et incompréhensible envers les non-informaticiens (voire même entre eux parfois), essentiellement parce que c'est bourré d'anglicismes, et que ca donne une sorte de dialecte résultat d'un mix d'anglais, de tournures à l'anglaise mais francisées faisant des faux-sens (par exemple « déprécié » pour un informaticien, est souvent à prendre dans le sens de « obsolète » puisqu'il pensait en fait « deprecated »). Le résultat n'est pas brillant.

Mais je maintiens que le langage juridique est incompréhensible (et j'ai des exemples en tête) ;)

10. Le vendredi 8 avril 2005 à 09:28 par yves

Eolas> Heuuuuuuuu........

Oui, j'aurais du le préciser: il s'agit du fichier qui a été modiflé pour afficher:
«Ce site étant un simple blog, et non un site de cabinet d'avocat, je ne réponds à aucune demande de consultation juridique.»
les <form> à modifier sont dedans, juste après.

Donc, c'est dans le plugin de Kozlika (Merci Kozlika !).

11. Le vendredi 8 avril 2005 à 09:40 par jpgaulier

Ave Eolas,
informatacioni te salutant.

J'ai au moins l'avantage pour moi que la langue soit morte, son auteur aussi et surtout que le mot informaticien n'ait pu exister à cette époque là. Ô, quel appel légitime ! Je me souviens encore de l'ancien blog, d'une mise en page par word et d'un lecteur de mail propriétaire. Que de progrès depuis cette époque ! J'attirerai cependant l'attention sur un élément.
Le mot geek, signifie dans son sens premier crétin ou débile, selon l'affection qu'on y porte. Même si la dérive veut que l'on attribue se terme aux informaticiens et plus précisémment aux linuxiens et autres bsdiens, je ne suis pas convaincu de la révérence intrinsèque du terme.

Sûr ce, cher maître, je te salue bien bas, en te souhaitant encore de longues et belles aventures qui nous, informaticiens passionnés de culture et de droit, nous font rêver, par le tel conteur que tu es.

12. Le vendredi 8 avril 2005 à 09:47 par virtualblackfox

A noter que changer dans le script :

$entete = "From: \"{$_POST["nom_expediteur"]}\" <{$_POST["email_expediteur"]}>\n";
$entete .= "MIME-Version: 1.0";
if (@mail($email_webmaster,$_POST["titre"],$_POST["message"],$entete)){

par

$entete = "From: \"{latin1_decode($_POST["nom_expediteur"])}\" <{latin1_decode($_POST["email_expediteur"])}>\n";
$entete .= "MIME-Version: 1.0";
if (@mail($email_webmaster,latin1_decode($_POST["titre"]),latin1_decode($_POST["message"]),$entete)){

Ferais que le mail arrive en ISO-8859-1, c'est plus compatible avec les anciens lecteurs de mails, mais tu perds l'avantage d'avoir de l'UTF-8 à la base...

13. Le vendredi 8 avril 2005 à 09:54 par groM

Madcoder, je suppose que tu veux parler du problème bien connu qui frappe d'une présomption irréfragable de concussion les héritiers chirographaires de baux amphitéotiques ? :-)

14. Le vendredi 8 avril 2005 à 11:14 par MadCoder

to virtualblackfox:

bah non, si tu ajoutes l'entête Content-Transfert-Encoding: au mail, même outlook express sait choisir le charset correct automatiquement. autant donc garder l'latin1, comme ceci Eolas pourra recevoir du chinois (dieu que c'est utile ;p)

to groM:

joli joli ;)
mais il n'y a pas besoin d'aller aussi loin pour me perturber.

15. Le vendredi 8 avril 2005 à 13:24 par cram1950

Maître,

Si vous ouvrez vos portes d'une manière aussi ostensible aux geeks,
Troll Detector 1000.0 service pack 10 risque de ne pas être efficace.

Je compte néanmoins m'installer ici et utiliser honteusement les réponses à votre question.

Longue vie à votre blog.

Marc L.

16. Le vendredi 8 avril 2005 à 13:33 par virtualblackfox

MadCoder: J'ai dit ancien, pas merdique :D

17. Le vendredi 8 avril 2005 à 16:25 par iznogoud_

Bon, je vois que la réponse a déjà été donnée plus haut par madcoder, donc tant pis... J'arrive trop tard :/

18. Le vendredi 8 avril 2005 à 17:13 par wendy

Je vais essayer d´être simple, j´ai eu le même problème, avec mon mail form.
Je ne suis pas sur dotclear mais sur wordpress, de toute façon le problème reste le même et est très facile à régler.
Aller dans le form mail ou mail form et chercher le terme iso-8859-1. vous le remplacez par utf-8, c´est tout.
Je l´ai fait ce matin et ça marche

19. Le vendredi 8 avril 2005 à 22:20 par Kozlika

MadCoder, me permets-tu de mettre ton fichier à disposition pour les utilisateurs de DotClear sous UTF-8 ?

Wendy, dans ce fichier il n'y a pas de mention iso-8859-1, donc pas de remplacement possible...

Maître Eolas, merci de votre accueil ;-)

20. Le vendredi 8 avril 2005 à 22:29 par wendy

Maintenant je sais pourquoi je n´ai pas choisi dotclear... ;-)

21. Le samedi 9 avril 2005 à 03:09 par MadCoder

Kozlika: bien sur. et avec la license qui t'agrée.

note que tu peux encore améliorer le bouzin en rendant le charset configurable (partout où j'ai ajouté un 'utf-8' il suffit de mettre une variable $encoding par exemple qui va lire sa valeur dans une conf. et ainsi chacun peut choisir l'encodage qu'il veut (dans le <form> et dans le C-T-E du mail)

22. Le samedi 9 avril 2005 à 22:42 par guerby

Eolas: le langage juridique est certainement aussi obscur que les encodages de caracteres, mais pour une question de langage juridique tout citoyen peux voir debarquer la police a 6h du matin chez lui, aller en prison et payer quelques centaines de milliers d'euros d'amende, alors que les encodages de caracteres sont un passe temps (frustrant) du samedi ou il fait trop froid eh eh :).

23. Le lundi 11 avril 2005 à 16:58 par Kozlika

Merci MadCoder, je m'en vais copier tout ça et essayer de comprendre ton dernier message ;-)

24. Le jeudi 21 avril 2005 à 11:43 par Blaise

Tiens Madcoder, vous ici.

25. Le jeudi 21 avril 2005 à 21:12 par Eolas

Merci à tous.

Et pour l'UTF-8 dans le titre ?

26. Le mercredi 1 juin 2005 à 14:56 par MadCoder

l'latin1 dans un entete de mail ... vaut mieux oublier (il faut utiliser des trucs dégueux du genre quoted printable et autres horreurs du genre dont personne ici ne veut entendre parler ...)

27. Le mercredi 31 août 2005 à 22:36 par Bz

T'as essayé en remplacant les é par &nbsp; dans ton code?

Mes logiciels, comme mes clients, sont libres. Ce blog est délibéré sous Firefox et promulgué par Dotclear.

Tous les billets de ce blog sont la propriété exclusive du maître de ces lieux. Toute reproduction (hormis une brève citation en précisant la source et l'auteur) sans l'autorisation expresse de leur auteur est interdite. Toutefois, dans le cas de reproduction à des fins pédagogiques (formation professionnelle ou enseignement), la reproduction de l'intégralité d'un billet est autorisée d'emblée, à condition bien sûr d'en préciser la source.

Vous avez trouvé ce blog grâce à

Blog hébergé par Clever-cloud.com, la force du Chouchen, la résistance du granit, la flexibilité du korrigan.

Domaine par Gandi.net, cherchez pas, y'a pas mieux.