Skip to content

Commit f3e239d

Browse files
committed
fixed:create log table is incorrect
fixed:log table charsets is incorrect
1 parent 8e1604b commit f3e239d

File tree

1 file changed

+12
-5
lines changed

1 file changed

+12
-5
lines changed

XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_XLog/ModuleDatabase_XLog.cpp

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -92,21 +92,28 @@ bool CModuleDatabase_XLog::ModuleDatabase_XLog_Create(LPCXSTR lpszTableName)
9292
DBModule_dwErrorCode = ERROR_APISERVICE_MODULE_DATABASE_PARAMENT;
9393
return false;
9494
}
95-
XCHAR tszSQLStatement[10240];
95+
XCHAR tszSQLStatement[4096];
9696
memset(tszSQLStatement, '\0', sizeof(tszSQLStatement));
9797

9898
_xstprintf(tszSQLStatement, _X("CREATE TABLE IF NOT EXISTS `%s` ("
9999
"`ID` int NOT NULL AUTO_INCREMENT,"
100-
"`tszFileName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '文件名',"
101-
"`tszFuncName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '函数名',"
100+
"`tszFileName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '文件名',"
101+
"`tszFuncName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '函数名',"
102102
"`nLogLine` int NULL DEFAULT NULL COMMENT '第几行',"
103103
"`nLogLevel` int NULL DEFAULT NULL COMMENT '打印级别',"
104-
"`tszLogBuffer` varchar(8196) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '日志信息',"
104+
"`tszLogBuffer` varchar(8196) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '日志信息',"
105105
"`tszLogTime` datetime NOT NULL COMMENT '日志时间',"
106106
"PRIMARY KEY (`ID`) USING BTREE"
107-
") ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;"), lpszTableName);
107+
") ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic;"), lpszTableName);
108108

109+
#ifdef _MSC_BUILD
110+
int nUTFLen = 0;
111+
XCHAR tszUTFQuery[4096] = {};
112+
BaseLib_OperatorCharset_AnsiToUTF(tszSQLStatement, tszUTFQuery, &nUTFLen);
113+
if (!DataBase_MySQL_Execute(xhDBSQL, tszUTFQuery))
114+
#else
109115
if (!DataBase_MySQL_Execute(xhDBSQL, tszSQLStatement))
116+
#endif
110117
{
111118
DBModule_IsErrorOccur = true;
112119
DBModule_dwErrorCode = DataBase_GetLastError();

0 commit comments

Comments
 (0)