我使用ASP Classic/VBScript使用CDO.Message對象發送電子郵件。看起來,單引號或撇號字符'(與標準字符相反)在收件人電子郵件中顯示爲:'T一些撇號在HTML電子郵件中顯示爲'
問題在哪裏以及解決此問題的最佳方法是什麼?我實際上嘗試運行一個替換來改變所有'到',但它似乎沒有奏效。
我想我真的不確定這兩個不同的字符之間有什麼區別,以及爲什麼有些網站(例如Microsoft)使用'。
我使用ASP Classic/VBScript使用CDO.Message對象發送電子郵件。看起來,單引號或撇號字符'(與標準字符相反)在收件人電子郵件中顯示爲:'T一些撇號在HTML電子郵件中顯示爲'
問題在哪裏以及解決此問題的最佳方法是什麼?我實際上嘗試運行一個替換來改變所有'到',但它似乎沒有奏效。
我想我真的不確定這兩個不同的字符之間有什麼區別,以及爲什麼有些網站(例如Microsoft)使用'。
這確實是字符編碼的問題。解決方案是在包含我的表單的網頁中放入兩行代碼。我實際上選擇將這些代碼行添加到我命名爲inc_globals.asp的全局包含文件的頂部。該文件出現在每頁的頂部。這裏有固定的問題代碼:
Response.CodePage = 65001
Response.CharSet = "utf-8"
作爲文件的問題,下面是爲解決這種情況下有用的帖子: http://groups.google.com/group/microsoft.public.inetserver.asp.general/browse_thread/thread/b79e6b95e24ef0fe/a25c643aaf12770d
所有的信息,你可以在需要的字符編碼。
您需要在CDO.Message
對象的.BodyPart.Charset
上設置正確的字符編碼。
最有可能您需要將其設置爲"utf-8"
作爲the default appears to be "us-ascii"
。
我嘗試了您的建議,但沒有任何區別。我也嘗試了BodyPart.ContentTransferEncoding =「quoted-printable」,這也沒有幫助。我很困惑,爲什麼你的建議不起作用。我發現很多其他引用使用Google來改變.BodyPart.Charset,正如你所建議的。 – HK1
@ HK1你知道什麼字符串你添加到身體部分是什麼?如果它只是一個默認的字符串對象,它可能是「utf-16」。您可能還需要在標題中設置['urn:schemas:mailheader:content-transfer-encoding](http://msdn.microsoft.com/zh-cn/library/ms875081%28v=exchg.65% 29.aspx)以匹配您發送的任何內容。 – robertc
郵件都寫在HTML格式。你有沒有嘗試過使用HTML實體?對於你的撇號,它應該是'
。
在VB:
Replace mailBody, "'", "'"
請發表您的解決方案作爲一個答案,而不是一個編輯您的問題。然後接受你自己的答案。這將標記您的問題已解決。 –