your programs should know how to work with any kind of encoding.
God, no. There's no advantage to perpetuating a bunch of shitty ancient code pages and other defective text encodings.
Most programs should accept only UTF-8 and emit only UTF-8. In the odd case where you need to accept non-UTF8 input, force the client to specify the encoding - don't autodetect.