Brief description of your issue
This is a follow up issue filed with unicode fix PR #466
std::string is used across the project to represent strings. In some cases, it'll cause potential bugs when handling extended characters. For example, std::filesystem::path treats std:;string type as narrow case encoding.
Expected behavior
u8string is used across the project for representing strings. Or at least those deal with windows file systems are changed to use u8string.