#include <iostream>
#include <string>
#include <locale>
int main()
{
try
{
std::locale::global(std::locale("en_US.utf8"));
std::string s = u8"This Is Ä Test";
std::use_facet<std::ctype<char>>(std::locale()).tolower(&s[0], &s[0] + s.size());
//std::cout.imbue(std::locale());
std::cout << s << std::endl;
}
catch (std::exception& e)
{
std::cerr << e.what() << std::endl;
}
}
CiNpbmNsdWRlIDxpb3N0cmVhbT4KI2luY2x1ZGUgPHN0cmluZz4KI2luY2x1ZGUgPGxvY2FsZT4KCmludCBtYWluKCkKewoJdHJ5Cgl7CgkJc3RkOjpsb2NhbGU6Omdsb2JhbChzdGQ6OmxvY2FsZSgiZW5fVVMudXRmOCIpKTsKCgkJc3RkOjpzdHJpbmcgcyA9IHU4IlRoaXMgSXMgw4QgVGVzdCI7CgoJCXN0ZDo6dXNlX2ZhY2V0PHN0ZDo6Y3R5cGU8Y2hhcj4+KHN0ZDo6bG9jYWxlKCkpLnRvbG93ZXIoJnNbMF0sICZzWzBdICsgcy5zaXplKCkpOwoKCQkvL3N0ZDo6Y291dC5pbWJ1ZShzdGQ6OmxvY2FsZSgpKTsKCQlzdGQ6OmNvdXQgPDwgcyA8PCBzdGQ6OmVuZGw7Cgl9CgljYXRjaCAoc3RkOjpleGNlcHRpb24mIGUpCgl7CgkJc3RkOjpjZXJyIDw8IGUud2hhdCgpIDw8IHN0ZDo6ZW5kbDsKCX0KfQo=