Если смотреть глубже, то обнаружиться, что Бил Гейтс решил сделать ДОС под юних, но спионерил далеко не всё. Например, с локалью работу он не спионерил. В юнихе в то далекое время тоже были разные кодировки и не было unicode — его тогда вообще не было. Но работа с локалью в юнихе развивалась таким образом, что добавить unicode (в разных его кодировках — UTF-8, UTF-16, UTF-32) оказалось делом не шибко сложным, а вот виндам пришлось попотеть — MBCS — было чисто MS решение, да ещё и половинчатое — не было и нет никакой возможности по строке сказать, что в ней за кодировка.
А программисты, которые пишут только в ASCII — они автоматически пишут в UNICODE — напомню, что ASCII определяет только первые 127 символов.
А с ленивыми программистами бороться надо — особенно с теми, кто пишет в расширенном ASCII или других кодовых страницах.