Skip to content

Commit 425f4ed

Browse files
committed
Fix for converting encoding.
1 parent b255682 commit 425f4ed

File tree

2 files changed

+6
-5
lines changed

2 files changed

+6
-5
lines changed

CPP/Common/StringConvert.cpp

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,8 +75,11 @@ void MultiByteToUnicodeString2(UString &dest, const AString &src, UINT codePage)
7575
dest.ReleaseBuf_SetLen(i);
7676
*/
7777
Cube::Encoding::Conversion::Initialize();
78-
auto unicode = Cube::Encoding::Conversion::ToUnicode((const char*)src);
79-
dest = unicode.c_str();
78+
auto code = Cube::Encoding::Conversion::Guess((const char*)src);
79+
auto cvt = code != Cube::Encoding::Unknown ?
80+
Cube::Encoding::Conversion::ToUnicode((const char*)src) :
81+
Cube::Encoding::Conversion::Widen((const char*)src, codePage);
82+
dest = cvt.c_str();
8083
}
8184
}
8285

CPP/Common/UTFConvert.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -278,9 +278,7 @@ bool ConvertUTF8ToUnicode(const AString &src, UString &dest)
278278
Cube::Encoding::Conversion::Initialize();
279279
auto code = Cube::Encoding::Conversion::Guess((const char*)src);
280280
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();
281+
dest = Cube::Encoding::Conversion::ToUnicode((const char*)src, code).c_str();
284282
return true;
285283
}
286284

0 commit comments

Comments
 (0)