https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63776
Tim Shen <timshen at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |timshen at gcc dot gnu.org --- Comment #1 from Tim Shen <timshen at gcc dot gnu.org> --- std::string s = "\"João Méroço\" <em...@isp.com>"; ...is not what you want. It is not an decoded unicode string, but just "a sequence of bytes": std::string s = "\"João Méroço\" <em...@isp.com>"; for (const auto& it : s) { std::cout << it << "\n"; } ...print: " J o � o M � r o � o " < e m a i l @ i s p . c o m > I don't know much about unicode support status in the standard library. @Jon, can you put a comment?