On 2013-07-20 at 19:05 +0200, Axel Rau wrote:
> As exim works with utf-8 strings, my naive assumption was, that a header like
> Subject: Neue =?ISO-8859-1?q?Gl=E4ser?=
> (RFC 2047) will be converted to utf-8 by exim before I access it via $h_Subject: .
> Looking at the complexity of expand.c, this seems to be proved.
> Can anybody confirm this?
Exim's behaviour depends upon what value was defined for HEADERS_CHARSET
in Local/Makefile when Exim was built. You also need HAVE_ICONV=yes but
that's supplied by default on some OSes.
The sample configuration supplied in src/EDITME sets
HEADERS_CHARSET="ISO-8859-1".
For myself, I always set HEADERS_CHARSET="UTF-8".
> If the header contains none-ASCII 8-bit-characters (=illegal), I would like exim to replace them by "?".
> Can this be done in the exim config or do we need a new expansion function for that?
I *suspect* that a new expansion function would be needed, but I could
be proven wrong by a particularly clever hack. I also suspect that, if
we were to implement this, we'd default the replacement character to be
codepoint 0xFFFD, the Unicode REPLACEMENT CHARACTER.