Я знаю, что это принято, но почему? Существуют ли реальные технические причины, по которым любой другой способ был бы очень плохой идеей или он основывался только на истории кодирования и обратной совместимости? Кроме того, в чем опасность не использования UTF-8, а какая-то другая кодировка (в первую очередь, UTF-16)?
Изменить: взаимодействуя, я в основном имею в виду shell и libc.