我有一个ASP.Net应用程序,允许用户将文本写入Telerik RadEditor控件,然后发送电子邮件。VB.Net MailMessage文本编码问题
出于某种原因,我有时会在生成的电子邮件中显示出奇怪的字符。
例如,如果我把这个词测试的到RadEditor箱,并将其发送...的电子邮件显示了文字更改为:特斯塔€™的。
它好像“代替使用字符'的,因为如果我使用后,该文本将显示出来就好了。如果我在ASP.Net应用程序界面中提取保存的记录,它看起来很好。当我查看存储在其中的MS SQL表的记录内的文本时,它也显得很好。我正在使用MailMessage创建电子邮件。我在使用SmtpClient发送消息之前检查了正在发送的字符串,在他看来它看起来很好。一旦电子邮件显示出来,但我得到了奇怪的文字(测试)。
我猜我有一个编码/解码问题,但我不知道如何去解决这个问题。
任何人有任何想法?
谢谢!
续--->
我试图将它添加到与/我的电子邮件类的构造函数没有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
非常感谢您的回复。我在上面添加到我的原始帖子中,因为我没有看到在此评论字段中包含示例代码的方法。 再次,我敢肯定这只是我做错了,因为我不知道我完全理解编码问题......任何建议? 谢谢! – 2010-03-10 14:49:02