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

Formlär som inte visar svenska tecken


nsky

Rekommendera Poster

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);
               }
           }
       }
   }

Länk till kommentar
Dela på andra webbplatser

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å?

Länk till kommentar
Dela på andra webbplatser

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

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

Länk till kommentar
Dela på andra webbplatser

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!

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...