Jag har gjort en sida där man kan skicka in SMS och få dom publicerade. Nu har jagproblem med Encodingen, å,ä och ö vill inte visas,de blir frågetecken. Enligt de jag använder som SMSoperatör skamananvända följande Encoding: Antar att du tar emot SMS:et i en "Byte[]" och att du sen skall konvertera den till en "string". Jag förstår inte riktigt vad du menar, jag skickar upp hela koden. Prova med HttpUtility.UrlEncodeToBytes(coll["sms"]) och se vad du får för kod för åäö Jag får då felet "CS0029: Cannot implicitly convert type 'byte[]' to 'string'"Problem med Encoding
Encoding enc = Encoding.GetEncoding(1252); //ISO encoding
det fungerar inte, jaghar även provat med Encoding enc = Encoding.GetEncoding(0); som ju är default. Jagskulle vilja använda ISO 8859-1, problemet är att GetEncoding bara tar heltal.
Nån som har nån idé om vad jag kan göra?Sv: Problem med Encoding
Vilket värde har åäö i Byte arrayen?
1252 är (i praktiken) samma som ISO-8859-1Sv:Problem med Encoding
<code>
NameValueCollection coll = Request.QueryString;
String nr;
string sendSms;
String tariff;
Encoding enc = Encoding.GetEncoding(1252); //ISO encoding
// Plocka ut avsändarnumret
nr = coll["nr"];
// Plocka ut SMS-meddelandet
sendSms = HttpUtility.UrlDecode(coll["sms"], enc);
// Plocka ut priset slutanvändaren blev debiterad (för exempelvis egen statistik)
tariff = coll["tariff"];
// Plocka ut operatören SMS:et kom in via
//operator = coll["operator"];
Sms sms = new Sms();
SmsDB smsDB = new SmsDB();
sms.Nr = nr.ToString();
sms.SmsMess = sendSms.Substring(sendSms.IndexOf(' ') + 5).ToString();/
sms.Tariff = tariff.ToString();
try
{
smsDB.addSmsMess(sms);
// Skicka ett svar tillbaka till slutanvändaren
Response.Write("Ditt meddelande är nu inlagt och väntar på att godkännas. Kostnad: " + sms.Tariff.ToString() + "kr");
}
catch(Exception err)
{
Response.Write("Det uppstod ett fel - " + err.Message.ToString());
}
</code>Sv: Problem med Encoding
Sv:Problem med Encoding
Jag har försökt med alla möjliga varianter
HttpUtility.UrlEncodeToBytes(coll["sms"].ToString())
HttpUtility.UrlEncodeToBytes(coll["sms"], enc)
----------------------------EDIT-------------------------------
Jag löste det med att lägga till detta i Web.Config:
<globalization culture="sv-SE" requestEncoding="ISO8859-1" responseEncoding="ISO8859-1"/>