关于乱码问题

KEN-YANG 2015-04-10 02:25:19
目前遇到这样一个问题,在一个英文网站上填写了一份报告,然后通过邮件发送到邮箱,用户接到的邮件是乱码,但是汉语在网页上显示正常,(邮件中英文正常,而汉语全部成为了问号)
其中发送邮件代码如下:
Sub sendEmail( _From As String, _To As String, _Bcc As String, _Subject As String, _Body As String, Optional _Attachment As String = "")
Const CFG = "http://schemas.microsoft.com/cdo/configuration/"
Dim EM = Server.CreateObject("CDO.Message")
With EM.Configuration.Fields
.Item(CFG & "sendusing") = 2
.Item(CFG & "smtpserver") = ConfigurationSettings.AppSettings("emlServer")
.Item(CFG & "smtpauthenticate") = 1
.Item(CFG & "sendusername") = ConfigurationSettings.AppSettings("emlUser")
.Item(CFG & "sendpassword") = ConfigurationSettings.AppSettings("emlPasswd")
.Item(CFG & "smtpserverport") = 25
.Item(CFG & "smtpusessl") = False
.Item(CFG & "smtpconnectiontimeout") = 60
.Update

End With: With EM
.From = _From: .To = _To: .Subject = _Subject: .HTMLBody = _Body: '.HTMLBody = System.Text.Encoding.UTF8
If _Bcc <> "" Then
.Bcc = _Bcc
End If
If _Attachment <> "" Then
Dim I As Byte, X As Object = Split(_Attachment, ",")
For I = 0 To UBound(X): .AddAttachment(X(I)): Next
End If: .Send
End With
End Sub

webconfig:里面设置的格式是UTF-8;
通过邮件服务器发送包含汉语的邮件不会出现乱码问题,
通过网页填写后发送邮件就会出现乱码,有人知道怎么解决这个问题吗?或者遇到类似的情况?
...全文
207 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Tiger_Zhao 2015-04-13
  • 打赏
  • 举报
回复
webconfig 是 ASP.Net 自身的编码,两个 CharSet 属性是邮件的编码。这是互不影响的两个系统各自的设置啊。
保持一致才不会出乱码。
因为不清楚你数据怎么来的,所以试着给出了gb2312。
既然你试出了UTF-8正确,就没有异议了。
KEN-YANG 2015-04-13
  • 打赏
  • 举报
回复
引用 3 楼 Tiger_Zhao 的回复:
webconfig 是 ASP.Net 自身的编码,两个 CharSet 属性是邮件的编码。这是互不影响的两个系统各自的设置啊。 保持一致才不会出乱码。 因为不清楚你数据怎么来的,所以试着给出了gb2312。 既然你试出了UTF-8正确,就没有异议了。
非常感谢你的解析,两个charset 的属性是邮件的编码格式,(由于服务器是国外的,web 服务器和Email服务器设置的都是UTF-8)
KEN-YANG 2015-04-10
  • 打赏
  • 举报
回复
引用 1 楼 Tiger_Zhao 的回复:
EM.BodyPart.Charset = "gb2312"  '文本格式的编码
EM.HTMLBodyPart.Charset="gb2312" 'HTML格式的编码
又:代码真难看!
代码按照纯文本格式粘贴上来的,不好意思, 现在问题是问什么要, EM.BodyPart.Charset = "gb2312" '文本格式的编码 EM.HTMLBodyPart.Charset="gb2312" 'HTML格式的编码 系统默认的是UTF-8,为什么还要设置呢? 我把GB2312改为了UTF-8 可以用。 问题解决了,但是不清楚问什么这这样写?
Tiger_Zhao 2015-04-10
  • 打赏
  • 举报
回复
EM.BodyPart.Charset = "gb2312"  '文本格式的编码
EM.HTMLBodyPart.Charset="gb2312" 'HTML格式的编码

又:代码真难看!

1,066

社区成员

发帖
与我相关
我的任务
社区描述
VB 资源
社区管理员
  • 资源
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧