Folgender kleiner Text (hier: in einem PHP-Script) hilft:
... header('Content-Type: text/calendar; charset=utf-8'); header('Content-Disposition: inline; filename="calendar.ics"'); ...
Gibt man das Charset nicht explizit an, erscheinen in Google Calendar statt den Sonderzeichen schwarze Rhomben mit einem Fragezeichen: �
Via: Character encoding in external public calendars – Why is Danish UTF-8 character not show correctly?