https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88508
--- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> --- (In reply to Frank Heckenbach from comment #2) > And all that because the library > doesn't know what the space character is in UTF-8. That's a completely wrong description of the problem. The standard library does not come with support for using char8_t as the character type for streams. That's it. Period. The problem has nothing to do with the setw manipulator or the space character or even UTF-8, it's that char8_t type is not supported by streams out of the box. You would need to imbue the stream with the relevant facets such as ctype<char8_t>.