I think the most reasonable approach today would be for most languages to use UTF-8 internally, yet natively support UTF-16 and UTF-32 as well, with easy conversion. Trying to settle on *one* isn't going to work because that boat has already sailed ⛵