Just nu i M3-nätverket
Gå till innehåll
nsky

Formlär som inte visar svenska tecken

Rekommendera Poster

nsky

Hej,

har byggt ett enkelt formulär i .net, och jag använder mig av gmails smtp-server. Men i meddelande fältet (tbComment.Text) så visas inte å, ä och ö rätt utan det blir frågetecken (?) istället. Det som är skumt är att i ärende fältet (tbSubject.Text) så visas det rätt.

 

Här kommer min kod.

protected void btSend_Click(object sender, EventArgs e)
   {
       {
           SmtpClient smtpClient = new SmtpClient();
           NetworkCredential basicCredential = new NetworkCredential("test@gmail.com", "losen");
           MailMessage message = new MailMessage();
           smtpClient.EnableSsl = true;
           smtpClient.Host = "smtp.gmail.com";
           smtpClient.UseDefaultCredentials = false;
           smtpClient.Credentials = basicCredential;
           smtpClient.Port = 587;

           if (string.IsNullOrEmpty(tbSubject.Text))
           {
               lblError.Text = "Du måste fylla i alla fält för att du ska posta";
           }
           else if (string.IsNullOrEmpty(tbName.Text))
           {
               lblError.Text = "Du måste fylla i alla fält för att du ska posta";
           }
           else if (string.IsNullOrEmpty(tbEmail.Text))
           {
               lblError.Text = "Du måste fylla i alla fält för att du ska posta";
           }
           else if (string.IsNullOrEmpty(tbComment.Text))
           {
               lblError.Text = "Du måste fylla i alla fält för att du ska posta";
           }
           else if (tbCheck.Text != "4")
           {
               lblError.Text = "Du måste skriva siffran fyra för att du ska posta";
           }
           else
           {
               try
               {
                   string @from = tbEmail.Text;
                   MailAddress fromAddress = new MailAddress(@from);

                   message.From = fromAddress;

                   message.Subject = tbSubject.Text;
                   message.To.Add("test@mail.com");


                   message.IsBodyHtml = true;
                   message.Body = "<h2>" + tbName.Text + " har kontaktat dig" + "</h2>";
                   message.Body += "<b>Text:</b>" + "<br />" + tbComment. + "<br />" + "<br />";
                   message.Body += "<b>Email:</b> " + tbEmail.Text;

                   smtpClient.Send(message);
                   lblSent.Text = "Ditt meddelande har skickats";
               }
               catch (Exception ex) 
               {
                   lblSent.Text = "Tvyärr blev det fel, försök igen";
                   throw (ex);
               }
           }
       }
   }

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
Jonas__B

Innan du skickar får du definiera i mailheadern vilken charset som skall användas.

Testa med utf-8

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
nsky

Innan du skickar får du definiera i mailheadern vilken charset som skall användas.

Testa med utf-8

Hur gör jag det? Har aldrig behövt använda det tidigare, har det att göra med gmail eller vad beror det på?

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
Jonas__B

du sätter mailheadern i mail-classen i .net

Möjligvis med message.BodyEncoding = System.Text.Encoding.UTF8;

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
nsky

du sätter mailheadern i mail-classen i .net

Möjligvis med message.BodyEncoding = System.Text.Encoding.UTF8;

Tack det fungerar! Som jag har letat en lösning på det här, åter igen tack så mycket!

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Skapa ett nytt konto på vårt forum. Det är lätt!

Registrera ett nytt konto

Logga in

Redan medlem? Logga in här.

Logga in nu



×
×
  • Skapa nytt...