Skip to content

Commit b255682

Browse files
committed
Add for checking UTF-8.
1 parent 4ffcebe commit b255682

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

CPP/Common/UTFConvert.cpp

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
#define _WCHART_IS_16BIT 1
1010
#endif
1111

12+
#include "../Cube/Log.h"
1213
#include "../Cube/Encoding.h"
1314
#pragma warning(disable:4505)
1415

@@ -275,7 +276,11 @@ static char *Utf16_To_Utf8(char *dest, const wchar_t *src, const wchar_t *srcLim
275276
bool ConvertUTF8ToUnicode(const AString &src, UString &dest)
276277
{
277278
Cube::Encoding::Conversion::Initialize();
278-
dest = Cube::Encoding::Conversion::ToUnicode((const char*)src, Cube::Encoding::Utf8).c_str();
279+
auto code = Cube::Encoding::Conversion::Guess((const char*)src);
280+
if (code != Cube::Encoding::Utf8) CUBE_LOG << _T("Encoding:") << code << _T(" (probably not UTF-8)");
281+
dest = code == Cube::Encoding::ShiftJis ?
282+
Cube::Encoding::Conversion::ToUnicode((const char*)src, Cube::Encoding::ShiftJis).c_str() :
283+
Cube::Encoding::Conversion::ToUnicode((const char*)src, Cube::Encoding::Utf8).c_str();
279284
return true;
280285
}
281286

0 commit comments

Comments
 (0)