【问题标题】:Newlines in ical ics file not displaying correctly on Apple calendarical ics 文件中的换行符在 Apple 日历上未正确显示
【发布时间】:2018-09-26 16:33:56
【问题描述】:

(我已经阅读了关于这个问题的大多数主题并尝试了各种替代方案,但我仍然无法解决我的问题)。

我正在从要通过电子邮件发送的 php 脚本生成 ical 日历事件。这工作得很好; ICS 附件被接收,它们可以被打开并用于创建/修改/删除日历事件。我主要在我的 iPhone 上进行测试。

我遇到的问题是在说明字段中包含换行符: - 如果我生成“\n”或“\r\n”(\n 后有一个空格),则显示整个字段,但显示为单行。 - 如果我生成“\n”或“\r\n”,则显示字符“\n”或“\r\n”。

另外,因为我读到 ; 可能有问题,所以我尝试插入一个 ;在描述中:当用\转义时,它显示为\;并且不转义时,不会造成任何问题。

这是一个 ics 附件的示例

BEGIN:VCALENDAR
VERSION:2.0
METHOD:PUBLISH
BEGIN:VEVENT
ORGANIZER:MAILTO:noreplyClickNFly@aeroclub-uaca.org
DTSTART:20180924T080000Z
DTEND:20180924T090000Z
LOCATION:Uaca
 245 Avenue Francis Tonner 06150 Cannes, France
TRANSP:OPAQUE
SEQUENCE:0
UID:20180919T190033-331242606@aeroclub-uaca.org
DTSTAMP:20180919T170033Z
SUMMARY:Baptême sur F-GJPJ
DESCRIPTION:Vol local\\r\\n PAX: John Doe (06.00.11.22.33)\\r\\n 5ème essai pour test calendrier
PRIORITY:5
CLASS:PUBLIC
STATUS:CONFIRMED
END:VEVENT
END:VCALENDAR

非常欢迎任何建议。

谢谢。

【问题讨论】:

  • 是的,我有(是我看的第一个)。不幸的是,这有点矛盾:有些 cmets 说你需要转义 (\\n),有些说不需要转义。

标签: php icalendar


【解决方案1】:

表示换行符的唯一有效格式是\n。 见https://www.rfc-editor.org/rfc/rfc5545#section-3.3.11

有意格式化的文本换行符必须仅包含在 一个“TEXT”属性值,通过用 BACKSLASH 的字符序列,后跟一个 LATIN SMALL LETTER N 或拉丁大写字母 N,即“\n”或“\N”。

您能否将生成的整个电子邮件包含在您的描述中,以便检查实际收到的内容?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-26
    • 2015-04-12
    • 2012-03-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多