I don't have a stomach for standardized error processing... and I doubt you
could do this right anyway. The right thing to do is to fix the offending
mailers. Doing the best they can in the face of brokeness is a good
competitive differentiator for clients.
I assume you get predominately 8859-1 mislabled as US-ASCII based on the fact
you predominantely communicate with folks in a Western European language. I
bet someone using say Cyrilc would have a predominant error condidition of a
different 8859 varient mis-labled as US-ASCII.
You'd win the bet. We see this sort of thing all the time with many
different languages: Arabic in various entirely different charsets
labelled as US-ASCII, Japanese in various different charsets
labelled as US-ASCII, ISO-8859-1, or the wrong Japanese set, Chinese
In many cases knowing the likely language involved is a good enough clue that
software can guess the real charset with a fair degree of accuracy. But it
isn't perfect. And all bets are off if you don't know the likely language -
results of using language-guessing software have been mixed.
Why would we assume the broken mailers would any more ensure that characters
are in 8859-1 than they would ensure that what is labled is correct? What if
the standard, or IETF in a BCP, says "treat this error as X" and a mailer used
in a different region made a different error?
Absolutely. We really don't want to go here.