Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

probleme encodage pour envoi mail html

8 réponses
Avatar
postcardmaker
bonjour, voici mon probleme,
jai une chaine qui contient par exemple:

string chaine =3D "Version pr=E9c=E9dente de Postcard Maker";

je voudrais un fonction .net generique qui me permette de me retrouver
a la fin avec

chaine =3D "Version précédente de Postcard Maker" (format
pour page html)

tout ce que jai pu trouver des fonction qui remplacent avec des
tableau de correspondance...
mais comment faire alors pour gerer le japonais ou autre

y-a-til un moyen darriver a ce que je decris?
merci davance

8 réponses

Avatar
Gilles TOURREAU
Le Tue, 07 Aug 2007 16:27:10 +0200, a écrit:

bonjour, voici mon probleme,
jai une chaine qui contient par exemple:

string chaine = "Version précédente de Postcard Maker";

je voudrais un fonction .net generique qui me permette de me retrouver
a la fin avec

chaine = "Version précédente de Postcard Maker" (format
pour page html)

tout ce que jai pu trouver des fonction qui remplacent avec des
tableau de correspondance...
mais comment faire alors pour gerer le japonais ou autre

y-a-til un moyen darriver a ce que je decris?
merci davance




cf. HttpUtility.HtmlEncode()

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr
Avatar
postcardmaker
bonjour
merci pour votre reponse, cela marche parfaitement avec les accents ou
autre charactere.

mais si jai par exemple du japonais
par exemple で印刷される dans u ne textbox

que je recupere comme ça

string text = tesxbox.text; // et que dans ma textbox jai ã§å °åˆ·ã•ã‚Œã‚‹

la fonction ne marche pas, savez vous pourquoi?

merci d'avance
Avatar
Fred
Dans : news:,
disait :
bonjour,



Bonjour,

voici mon probleme,
jai une chaine qui contient par exemple:

string chaine = "Version précédente de Postcard Maker";

je voudrais un fonction .net generique qui me permette de me retrouver
a la fin avec

chaine = "Version précédente de Postcard Maker" (format
pour page html)

tout ce que jai pu trouver des fonction qui remplacent avec des
tableau de correspondance...
mais comment faire alors pour gerer le japonais ou autre



Je ne suis pas certain qu'il existe des entités html pour tous les jeux
de caractères.
http://www.w3.org/TR/html4/sgml/entities.html

Pourquoi ne pas envoyer le mail avec le bon encodage ?

exemple succinct (en VB car c'est le code que j'avais sous la main) :

Dim enc As Encoding = Encoding.GetEncoding("iso-8859-15")
Dim m As New MailMessage()
m.From = .......
m.BodyEncoding = enc
m.Subject = ........
m.SubjectEncoding = enc
m.IsBodyHtml = False
m.Body = "Ce message doit être visualisé en HTML"
html = "le code html complet"
Dim stream As New MemoryStream(enc.GetBytes(html))
Dim altView As New AlternateView(stream, MediaTypeNames.Text.Html)
altView.TransferEncoding = TransferEncoding.QuotedPrintable
m.AlternateViews.Add(altView)

Cela ne devrait pas être trop compliqué à transcrire en C#.
La partie qui t'intéresse particulièrement est le GetBytes qui va
transformer la chaîne contenant le corps HTML du message (Unicode) en
une série d'octets correspondants dans l'encodage récupéré au début.


--
Fred
http://www.cerber mail.com/?3kA6ftaCvT (enlever l'espace)
Avatar
Gilles TOURREAU
Le Tue, 07 Aug 2007 17:35:37 +0200, a écrit:

bonjour
merci pour votre reponse, cela marche parfaitement avec les accents ou
autre charactere.

mais si jai par exemple du japonais
par exemple で印刷される dans une textbox

que je recupere comme ça

string text = tesxbox.text; // et que dans ma textbox jai で印刷される

la fonction ne marche pas, savez vous pourquoi?

merci d'avance




Cette fonction ne sert pas à formater ces caractères... Vous devez donc
regarder du coté de l'encodage utilisé pour l'envoi des mails :

MailMessage.BodyEncoding

Dans votre cas essayez avec de l'unicode : UTF-8

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr
Avatar
Gilles TOURREAU
Le Tue, 07 Aug 2007 18:21:20 +0200, Gilles TOURREAU
a écrit:

Le Tue, 07 Aug 2007 17:35:37 +0200, a écrit:

bonjour
merci pour votre reponse, cela marche parfaitement avec les accents ou
autre charactere.

mais si jai par exemple du japonais
par exemple で印刷される dans une textbox

que je recupere comme ça

string text = tesxbox.text; // et que dans ma textbox jai で印刷される

la fonction ne marche pas, savez vous pourquoi?

merci d'avance




Cette fonction ne sert pas à formater ces caractères... Vous devez donc
regarder du coté de l'encodage utilisé pour l'envoi des mails :

MailMessage.BodyEncoding

Dans votre cas essayez avec de l'unicode : UTF-8

Cordialement




Ou Encoding.Unicode...

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr
Avatar
postcardmaker
bonjour,
helas j'ai tout essayé sans succes:

avec dans l'entete de mon mail html: <meta content=
"text-html; charset=utf-8 .....

message.BodyEncoding = System.Text.Encoding.UTF8;
message.Body = Body

les accents et characteres speciaux passent, mais pas le japonias....
Avatar
postcardmaker
en fait le probleme est sous hotmail, les autre (jai essyé gmail et
wanadoo) affichent correctement mais hotmail:

あなたの友人に送ることを <---japonais


あなたの友人に送ることを あなたの友人にé
€ã‚‹ã“とを <---japonais
éà<---accent ok

hotmail doit etre trité différemment?
Avatar
Gilles TOURREAU
Le Wed, 08 Aug 2007 05:04:56 +0200, a écrit:

en fait le probleme est sous hotmail, les autre (jai essyé gmail et
wanadoo) affichent correctement mais hotmail:

あなたの友人に送ることを <---japonais


あなたの友人に送ることを あなたの友人にé
€ã‚‹ã“とを <---japonais
éà<---accent ok

hotmail doit etre trité différemment?



Ce n'est pas un réglage au niveau des options de Hotmail ?
Assurez vous que l'encodage de page est réglé sur "Automatique" dans votre
navigateur Web.

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr