瀏覽代碼

#IQRV #comment [GUIConsole] PsbName值编码转换

gifur 4 年之前
父節點
當前提交
280aeb044e
共有 1 個文件被更改,包括 14 次插入3 次删除
  1. 14 3
      Module/mod_guiconsole/MaterialMgrCnn.cpp

+ 14 - 3
Module/mod_guiconsole/MaterialMgrCnn.cpp

@@ -271,8 +271,13 @@ ErrorCodeEnum CMaterialMgrCnn::SyncMaterialCount(const char *pszDeviceNo, DWORD
 		strncpy_s(pReq2[i].CardBoxNo, sizeof(pReq2[i].CardBoxNo), arrCardBoxNo[i], _TRUNCATE);
 		strncpy_s(pReq2[i].PsbCode, sizeof(pReq2[i].PsbCode), arrPsbCode[i], _TRUNCATE);
 		CSimpleStringA curPsbName = arrPsbName[i];
-
-		strncpy_s(pReq2[i].PsbName, sizeof(pReq2[i].PsbName), curPsbName.GetData(), _TRUNCATE);
+#if defined(RVC_OS_LINUX)
+		const auto tmp = SP::Utility::UTF8ToGBK(std::string(curPsbName.GetData()));
+		curPsbName = tmp.c_str();
+		const auto test1 = SP::Utility::GBK2UTF8(std::string(curPsbName.GetData()));
+		Dbg("%s: convert and convert: %s", __FUNCTION__, test1.c_str());
+#endif //RVC_OS_LINUX
+		strncpy_s(pReq2[i].PsbName, sizeof(pReq2[i].PsbName), curPsbName, _TRUNCATE);
 		pReq2[i].CardInit = arrCardInit[i];
 		pReq2[i].CardRemains = arrCardRemains[i];
 		pReq2[i].CardIssued = arrCardIssued[i];
@@ -470,7 +475,13 @@ ErrorCodeEnum CMaterialMgrCnn::HandleQueryMaterialInfoRet(const CSmartPointer<IP
 #endif //_MSC_VER
 		tempStr[4] = '\0';
 		PsbCode[i] = tempStr;
-		PsbName[i] = ret2[i].PsbName;
+#if defined(RVC_OS_LINUX)
+		const auto tmp = SP::Utility::GBK2UTF8(std::string(ret2[i].PsbName));
+		PsbName[i] = tmp.c_str();
+		Dbg("%s: conveted: %s", __FUNCTION__, PsbName[i]);
+#else
+        PsbName[i] = ret2[i].PsbName;
+#endif //RVC_OS_LINUX
 		CardInit[i] = ret2[i].CardInit;
 		CardRemains[i] = ret2[i].CardRemains;
 		CardIssued[i] = ret2[i].CardIssued;