https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88508
--- Comment #6 from Frank Heckenbach <f.heckenb...@fh-soft.de> --- Yet ironically, char8_t and char16_t are meant to be used with a certain encoding (UTF-8 and UTF-16, respectively) which is locale-independent, whereas char is very much locale-dependent (with even EBCDIC still supported), yet it's the latter that works out of the box without setting a locale.