Add Database constructor for filesystem::path #296 by ptrks · Pull Request #314 · SRombauts/SQLiteCpp (original) (raw)
Possible fix is to convert std::wstring to utf-8 based string:
std::string ToUTF8(const std::wstring& wstr)
{
#if defined(__CYGWIN__) || defined(__MINGW32__) || defined(__MINGW64__)
std::wstring_convert<std::codecvt_utf8_utf16<char16_t>, char16_t> convert;
return convert.to_bytes((char16_t*)wstr.data(), (char16_t*)wstr.data() + wstr.size());
#elif defined(unix) || defined(__unix) || defined(__unix__) || defined(__APPLE__)
std::wstring_convert<std::codecvt_utf8<wchar_t>> convert;
return convert.to_bytes(wstr.data(), wstr.data() + wstr.size());
#elif defined(_WIN32) || defined(_WIN64)
std::wstring_convert<std::codecvt_utf8_utf16<wchar_t>> convert;
return convert.to_bytes(wstr.data(), wstr.data() + wstr.size());
#endif
}