Die surrogate-Geschichte ist für mich auch neu. Neben surrogateescape gibt es noch Ansätze per surrogatepass. Evtl. das mal versuchen.
prima Hinweis. Den Link habe ich für ähnliche Spezialfälle gleich gespeichert, zusammen mit den Codec-Details und Tabellen in https://docs.python.org/3/library/code…ec-base-classes. Edit: persönlich würde ich aber (aus leidvoller Erfahrung) versuchen, das Problem soweit möglich zu umgehen.
/R