How to keep Mail from encoding messages with the old charset=windows-1252?
Solution 1:
As far as I know, the only way to guarantee the encoding is to make sure every message includes an Unicode dingbat (e.g. in the sig). This will ensure that the message goes out as UTF-8. Dingbats are in the Unicode 2700 range, e.g. ✈ . You need to add this from the Character Viewer, not by just changing to a "dingbat" font, which may not be Unicode.
Solution 2:
Turning off smart quotes and dashes seems to fix this problem. When composing a message, Edit -> Substitutions -> Smart Quotes (and Smart Dashes).