problème d'encodage ISO /UTF
Salut,
Je suis en train de bosser sur une notification SMS. J'ai un problème d'encodage et mes accents ne passent pas.
Comme je ne suis pas très sûr de l'interface web que j'utilise, j'aimerais faire plusieurs tests.
Je dois encoder une string en ISO8859-1 et en UTF-8.
Ce que je ne sais pas c'est lorsqu'on écrit une simple chaîne accentuée dans le code source, elle est encodée en quoi par défaut ?
D'avance merci
Laurent
Bon je vais détailler mon besoin sinon on ne va pas s'en sortir...
Donc, mon objectif est d'envoyer un SMS durant le pageload d'une ASPX qui est transformée pour renvoyer du VXML.
Pendant le pageload, si tout se passe bien, je dois envoyer un SMS à l'appelant.
Pour se faire j'utilise un service web (ou presque, je dirais plutôt un service sur le web) auquel je dois passer plein de paramètres en post.
Suite à une grosse galère, j'ai enfin trouvé, mon SMS part.
Toutefois, les accents merdent. Comme les encoding et les codes pages ont envahi la place, je n'y comprends plus rien...
Voici le code (j'enleve les trucs intimes)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
|
/*Envoi du résultat par MC Tel*/
//http://www.worldofasp.net/tut/WebRequest/Working_with_HttpWebRequest_and_HttpWebResponse_in_ASPNET_114.aspx
// Create a new WebRequest Object to the mentioned URL.
string strSMSMsg = "xxxxx, lecture du " + dteAppel.Day + "/" + dteAppel.Month + "/" + dteAppel.Year + " à " + dteAppel.Hour + ":" + dteAppel.Minute + ". Valeur enregistrée : " + sngValeur + " " + strUniteDetails;
byte[] tBytesstrSMSMsg = Encoding.GetEncoding("iso-8859-1").GetBytes(strSMSMsg);
string strSMSMsg2 = Encoding.GetEncoding("iso-8859-1").GetString(tBytesstrSMSMsg);
Uri oUri = new Uri("http://smsgateway.mctel.fr/cgi-bin/sendsms.cgi");
//http://www.smsfax.fr/pdf/Manuel%20Interface%20HTTP%20HTML%20VideoSMS.pdf
string strData = "";
strData += "Command=sendsms";
strData += "&Version=1.0";
strData += "&UserId=AAAAAAAAAAAA";
strData += "&UserPwd=aaaaaaaaaaaaa";
strData += "&TestMode=0";
strData += "&CompanyId=MCTELWEBSMS";
strData += "&CompanyPwd=xxxxxxxxxxxxx";
strData += "&DestNum=" + Server.UrlEncode(strTelPatient);
strData += "&MsgContent=" + Server.UrlEncode(strSMSMsg2);
strData += "&MsgType=S";
strData += "&ContentType=TEXT";
strData += "&Encoding=ISO8859-1";//USC2";//ISO8859-1";
strData += "&OptDeferred=0";
strData += "&OptDefDate=";
strData += "&OptDefTime=";
strData += "&OptExpire=";
strData += "&OptExpiryDate=";
strData += "&OptOptExpiryTime=";
strData += "&OptNotifOnSuccess=1";
strData += "&OptNotifOnError=1";
strData += "&OptNotifType=EMAIL";
strData += "&OptNotifAddress=" + Server.UrlEncode("ppppppppp@gmail.com");
strData += "&OptFlash=0";
strData += "&OptReplace=0";
strData += "&PrivateData=" + Server.UrlEncode("\"DemoMode\"");
strData += "&PrivateReference=" + Server.UrlEncode("\"QQQQQ\"");
strData += "&Originator=mctel";
strData += "&Udhi=0";
strData += "&ReplyEnabled=0";
strData += "&Priority=0";
strData += "&Sessionid=";
strData += "&Sessionstate=";
if (oUri.Scheme == Uri.UriSchemeHttp)
{
HttpWebRequest oHttpWebRequest = (HttpWebRequest)HttpWebRequest.Create(oUri);
oHttpWebRequest.Method = WebRequestMethods.Http.Post;
oHttpWebRequest.ContentLength = strData.Length;
oHttpWebRequest.ContentType = "application/x-www-form-urlencoded";
oHttpWebRequest.Headers.Add("Accept-Charset: utf-8");
oHttpWebRequest.ContentLength = strData.Length;
StreamWriter oStreamWriter = new StreamWriter(oHttpWebRequest.GetRequestStream());
oStreamWriter.Write(strData);
oStreamWriter.Close();
HttpWebResponse oHttpWebResponse = (HttpWebResponse)oHttpWebRequest.GetResponse();
StreamReader oStreamReader = new StreamReader(oHttpWebResponse.GetResponseStream());
string strTmp = oStreamReader.ReadToEnd();
oHttpWebResponse.Close();
} |
Si vous arriviez a m'aider sur ce coup là... ça serait kool...
++
Laurent
je crois que je vais tout mettre en majuscules...
Je vais tout mettre en majuscules au moins je ne serais plus embété par les accents...(en attendant que quelqu'un puisse m'aider)...
++
Laurent