What it is
UTF-8 represents text from many writing systems. MIME parameters and encoded header syntax tell recipients how to decode those bytes.
Why it matters
Encoding mismatches turn names, subjects, currencies, and legal copy into replacement characters or mojibake.
How to implement
Use UTF-8 end to end, declare it on text MIME parts, encode legacy-constrained headers with a maintained library, and choose quoted-printable or base64 when transport needs it.
Common mistakes
- Declaring UTF-8 after encoding from a legacy code page.
- Counting characters where a protocol limit counts bytes.
- Truncating inside a multibyte sequence.
Verification
Send fixtures containing accented Latin, Arabic, CJK, emoji, and combining marks. Compare raw and rendered values at each delivery hop.