@@ -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