std::string
способен хранить UTF-8 напрямую. Вам понадобятся специальные библиотеки, такие как ICU, только если вы хотите каким-то образом разобрать строки. Для простого вывода без разбора просто перейдите с std::string
и забудьте обо всех этих библиотеках.