我正在使用c#生成.ics文件。 我可以通过邮件发送日历邀请作为附件。 但邀请函不支持多语言字符。
如何启用对多语言字符的支持?
StringBuilder CalenderInviteString = new StringBuilder();
CalenderInviteString.AppendLine("BEGIN:VCALENDAR");
CalenderInviteString.AppendLine("PRODID:-//Invite");
CalenderInviteString.AppendLine("VERSION:2.0");
CalenderInviteString.AppendLine(string.Format("X-WR-RELCALID:{0}",invite.Id));
CalenderInviteString.AppendLine(string.Format("METHOD:{0}",(invite.Method==CalendarMethod.UPDATE)?"REQUEST":invite.Method.ToString()));
CalenderInviteString.AppendLine("BEGIN:VEVENT");
CalenderInviteString.AppendLine(string.Format("DTSTART:{0:yyyyMMddTHHmmssZ}", invite.StartDate));
CalenderInviteString.AppendLine(string.Format("DTSTAMP:{0:yyyyMMddTHHmmssZ}", invite.DateTimeStamp));
CalenderInviteString.AppendLine(string.Format("DTEND:{0:yyyyMMddTHHmmssZ}", invite.EndDate));
CalenderInviteString.AppendLine(string.Format("LOCATION: {0}", invite.Location));
CalenderInviteString.AppendLine(string.Format("UID:{0}", invite.Id));
CalenderInviteString.AppendLine("SEQUENCE:1");
CalenderInviteString.AppendLine(string.Format("STATUS:{0}", invite.Status.ToString()));
CalenderInviteString.AppendLine(string.Format("DESCRIPTION:{0}", invite.Description));
CalenderInviteString.AppendLine(string.Format("X-ALT-DESC;FMTTYPE=text/html:{0}", invite.Content));
CalenderInviteString.AppendLine(string.Format("SUMMARY:{0}", invite.Summary));
CalenderInviteString.AppendLine(string.Format("ORGANIZER:MAILTO:{0}",invite.Organizer));
CalenderInviteString.AppendLine("BEGIN:VALARM");
CalenderInviteString.AppendLine("TRIGGER:-PT15M");
CalenderInviteString.AppendLine("ACTION:DISPLAY");
CalenderInviteString.AppendLine("DESCRIPTION:Reminder");
CalenderInviteString.AppendLine("END:VALARM");
CalenderInviteString.AppendLine("END:VEVENT");
CalenderInviteString.AppendLine("END:VCALENDAR");
return CalenderInviteString.ToString();
答案 0 :(得分:0)
将Content-Type(mime类型)与适当的字符集一起使用。
示例:
text/calendar; charset=gb18030