summaryrefslogtreecommitdiff
path: root/Source/Core/Common/StringUtil.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Core/Common/StringUtil.cpp')
-rw-r--r--Source/Core/Common/StringUtil.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/Source/Core/Common/StringUtil.cpp b/Source/Core/Common/StringUtil.cpp
index a8880d371b..e3c6f692f6 100644
--- a/Source/Core/Common/StringUtil.cpp
+++ b/Source/Core/Common/StringUtil.cpp
@@ -17,6 +17,7 @@
#include <locale>
#include <sstream>
#include <string>
+#include <type_traits>
#include <vector>
#include <fmt/format.h>
@@ -574,7 +575,10 @@ std::string UTF8ToSHIFTJIS(std::string_view input)
std::string WStringToUTF8(std::wstring_view input)
{
- std::wstring_convert<std::codecvt_utf8<wchar_t>, wchar_t> converter;
+ using codecvt = std::conditional_t<sizeof(wchar_t) == 2, std::codecvt_utf8_utf16<wchar_t>,
+ std::codecvt_utf8<wchar_t>>;
+
+ std::wstring_convert<codecvt, wchar_t> converter;
return converter.to_bytes(input.data(), input.data() + input.size());
}