C# 支持.ics文件中的多语言字符

C# 支持.ics文件中的多语言字符,c#,C#,我正在使用c#生成.ics文件。 我可以通过邮件发送日历邀请作为附件。 但是invite不支持多语言字符 如何启用对多语言字符的支持 StringBuilder CalenderInviteString = new StringBuilder(); CalenderInviteString.AppendLine("BEGIN:VCALENDAR"); CalenderInviteString.AppendLine("PRODID:-//Invit

我正在使用c#生成.ics文件。 我可以通过邮件发送日历邀请作为附件。 但是invite不支持多语言字符

如何启用对多语言字符的支持

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();
使用具有适当字符集的内容类型(mime类型)

例如:

text/calendar; charset=gb18030
使用具有适当字符集的内容类型(mime类型)

例如:

text/calendar; charset=gb18030

你如何对文件进行编码?我有一个API来发送邮件
Attachement.Add(new-EmailAttachment(){content=GetCalendarContent(userTask,content,from,to,method,subject),type=“text/calendar”,name=“invite.ics”})添加了一个答案,有帮助吗?你如何对文件进行编码?我有一个API来发送邮件
Attachement.Add(new-EmailAttachment(){content=GetCalendarContent(userTask,content,from,to,method,subject),type=“text/calendar”,name=“invite.ics”})添加了答案,有帮助吗?你使用的是什么字符集?你能在文件系统中保存ICS文件并发布内容吗?我正在添加汉字,显示为??你使用的是什么字符集?你能在文件系统中保存ICS文件并发布内容吗?我正在添加汉字,显示为??