In Utilities.h.
int result = ::WideCharToMultiByte(CP_OEMCP, 0, s2, s2.GetLength(), mbBuffer, s2.GetLength(), NULL, NULL);
it's not work in chinese environment, and i change it to:
int len = ::WideCharToMultiByte(CP_OEMCP, 0, s2, s2.GetLength(), NULL, 0, NULL, NULL);
LPSTR mbBuffer = new CHAR[len + 1];
int result = ::WideCharToMultiByte(CP_OEMCP, 0, s2, s2.GetLength() + 1, mbBuffer, len + 1, NULL, NULL);
In Utilities.h. int result = ::WideCharToMultiByte(CP_OEMCP, 0, s2, s2.GetLength(), mbBuffer, s2.GetLength(), NULL, NULL); it's not work in chinese environment, and i change it to:
int len = ::WideCharToMultiByte(CP_OEMCP, 0, s2, s2.GetLength(), NULL, 0, NULL, NULL);
LPSTR mbBuffer = new CHAR[len + 1];
int result = ::WideCharToMultiByte(CP_OEMCP, 0, s2, s2.GetLength() + 1, mbBuffer, len + 1, NULL, NULL);