사용자가 Telerik RadEditor 컨트롤에 텍스트를 쓰고 전자 메일을 보낼 수있는 ASP.Net 응용 프로그램이 있습니다.VB.Net MailMessage 텍스트 인코딩 문제
어떤 이유로 저는 생성 된 이메일에 이상한 문자가 표시되는 경우가 있습니다. 종피 € ™의 : 텍스트로 변경하여 내가 단어 시험의 RadEditor 상자에 그것을 보내 넣어 예를 들어
은 ... 이메일이 표시됩니다.
' 문자가 ' 대신 사용 된 것처럼 보입니다. 나중에 사용하면 텍스트가 잘 표시 될 것입니다. ASP.Net 애플 리케이션 인터페이스 내에서 저장된 레코드를 가져 오면 잘 보입니다. 또한 저장된 MS SQL 테이블에 기록 된 텍스트를 볼 때 잘 나타납니다.
전자 메일을 만들 때 MailMessage를 사용하고 있습니다. SmtpClient를 사용하여 메시지를 보내고 바로 그 시점에서 문자열이 제대로 보이기 직전에 문자열이 전송되었는지 확인했습니다. 이메일 메시지가 나타나면 이상한 텍스트가 나옵니다 (Testâ € ™).
인코딩/디코딩 문제가 있다고 생각하지만 어떻게 수정해야할지 모르겠습니다.
누구든지 아이디어가 있습니까?
고맙습니다!.
계속은 --->
나는 mybase없이와/내 이메일 클래스의 생성자에 추가하려고 노력하지만 아무런 영향을 미치지 않습니다.
Public Sub New(ByVal EmailDate As DateTime, ByVal LogoPath As String)
MyBase.New()
MyBase.BodyEncoding = Encoding.GetEncoding("iso-8859-1")
‘BodyEncoding = Encoding.GetEncoding("iso-8859-1")
Me.EmailDate = EmailDate
Me.LogoPath = LogoPath
End Sub
나는 또한 내가 새로운려면 SmtpClient를 생성하지만 그 중 올바른 될 것 같지 않았다 직전 이메일 클래스를 호출하는 형태의 뒤에 코드에 추가했습니다.
Try
returnEmail.BodyEncoding = Encoding.GetEncoding("iso-8859-1")
Dim smtpCli As New SmtpClient
smtpCli.Send(returnEmail)
Catch ex As Exception
ScriptManager.RegisterStartupScript(Me, Me.GetType, "smtpError", "alert('There was an error sending the email:\n* " & ex.Message & "');", True)
End Try
귀하의 답변에 대해 대단히 감사합니다. 이 주석 필드에 예제 코드를 포함 할 방법이 없기 때문에 위의 원래 게시물에 추가했습니다. 인코딩 문제를 완전히 이해하고 있는지 확신 할 수 없기 때문에 다시 한 번 잘못된 것이라고 생각합니다. 제안 사항은 무엇입니까? 감사! –