> Но API ворочает однобайтовыми локалями, да еще разными. Есть "DOS" (OEM) а есть ANSI. А есть юникод.В линейке NT с самого её появления "родной" кодировкой для API является UTF-16, а функции для однобайтных кодировок (пресловутая совместимость с Win9x) являются не более чем обёртками.
> Да еще в консоли например юникод у MS до сих пор отсутствует.
Давно присутствует, просто "выключен" (используется неюникодный битмапный шрифт) по дефолту. Но виндовая консоль по сравнению с *nix — вообще какое-то недоразумение.
> в современных пингвинах повальный UTF-8
Это де факто. Но лично я (да и некоторые/многие другие, наверняка, тоже) предпочёл бы де юре, чтобы хотя бы насчёт имён файлов быть на 146% уверенным, что они в определённой кодировке, а не "скорее всего, UTF-8, но может быть и нет, как повезёт".