... wobei ich noch bezüglich der Überschrift dieses Threads bemerken möchte

, dass "Schriften" mit diesem Problem überhaupt nichts zu tun haben.
Seit etwa Mitte der 1990-er Jahre, als die letzten Kugelköpfe, Typenräder und Druckketten ausgestorben waren, sind Schrifttypen nicht mehr von Zeichencodierungen abhängig.
Wenn vor 20 Jahren ein Computer ein "Ä" drucken wollte, hat er sozusagen einen Befehl nach dem Motto "ich will das 75. Zeichen auf dem Typenrad 'Helvetica mit deutschem Zeichenvorrat' haben" verarbeitet. Die Codierung (hier beispielsweise die Zahl 75) war damals fest an die Schriftart gebunden, in diesem Beispiel sogar per Hardware. Zeichensalat ergab sich zwangsläufig, jedes Mal wenn die Codierung sich änderte, z.B. wenn man Geräte verschiedener Hersteller miteinander gemischt hat.
Diese Zeiten sind zum Glück lange vorbei. Heute schickt der Computer eine Anweisung der Art "ich brauche das Schriftzeichen 'lateinischer Großbuchstabe A mit Diaresis', gewünscht in Helvetica, im Notall auch in einer anderen Schriftart, falls das Zeichen nicht passend da ist", wenn er ein solches Ä benutzen will.
Es kommt heute nur noch dann zu Zeichensalat, wenn das Zeichen nicht in dieser beschriebenen ausführlichen Form angegeben wird, sondern nach einer Codierungsnorm (z.B. ISO 8859-1 "Latin-1" oder ISO 10646-1 UTF-8), aber es ist gerade unklar, nach welcher ...
Irgendwo auf dem Übertragungsweg zwischen Web-Browser, Web-Server und Mail-Weiterleitungsdienst gab es also eine Stelle, wo ein Zeichen mit einer Codeposition X nach der Norm A codiert war, der Empfänger war jedoch in einer Situation, wo er angenommen hat, das Zeichen X wäre nach der Norm B codiert. Entweder die sendende Komponente hat fälschlicherweise nicht klargestellt, nach welcher Norm sie arbeitet, oder die empfangende Komponente hat fälschlicherweise nicht darauf geachtet, welche Norm beim Senden benutzt wurde. Die Schrift spielt aber keine Rolle.