@@ -55,7 +55,7 @@ bool CDatabase_File::Database_File_Init(DATABASE_MYSQL_CONNECTINFO *pSt_DBConnec
5555 m_nTimeMonth = nTimeDay;
5656 // 连接数据库
5757 _tcsxcpy (pSt_DBConnector->tszDBName , _X (" XEngine_Storage" ));
58- if (!DataBase_MySQL_Connect (&xhDBSQL, pSt_DBConnector, 5 , true , _X ( " utf8 " ) ))
58+ if (!DataBase_MySQL_Connect (&xhDBSQL, pSt_DBConnector))
5959 {
6060 Database_IsErrorOccur = true ;
6161 Database_dwErrorCode = DataBase_GetLastError ();
@@ -493,18 +493,25 @@ bool CDatabase_File::Database_File_CreateTable()
493493
494494 _xstprintf (tszSQLQuery, _X (" CREATE TABLE IF NOT EXISTS `%s` ("
495495 " `ID` int NOT NULL AUTO_INCREMENT COMMENT 'ID序号',"
496- " `BuckKey` varchar(260) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '路径KEY',"
497- " `FilePath` varchar(260) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '文件路径',"
498- " `FileName` varchar(260) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '文件名称',"
499- " `FileHash` varchar(260) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '文件HASH',"
500- " `FileUser` varchar(260) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '文件所属用户',"
496+ " `BuckKey` varchar(260) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '路径KEY',"
497+ " `FilePath` varchar(260) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '文件路径',"
498+ " `FileName` varchar(260) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '文件名称',"
499+ " `FileHash` varchar(260) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '文件HASH',"
500+ " `FileUser` varchar(260) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '文件所属用户',"
501501 " `FileSize` bigint NOT NULL COMMENT '文件大小',"
502502 " `FileTime` datetime NOT NULL COMMENT '插入时间',"
503503 " PRIMARY KEY (`ID`) USING BTREE"
504- " ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;"
504+ " ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic;"
505505 ), tszTableName);
506-
507- if (!DataBase_MySQL_Execute (xhDBSQL, tszSQLQuery))
506+ #ifdef _MSC_BUILD
507+ int nUTFLen = 0 ;
508+ XCHAR tszUTFBuffer[2048 ];
509+ memset (tszUTFBuffer, ' \0 ' , sizeof (tszUTFBuffer));
510+ BaseLib_OperatorCharset_AnsiToUTF (tszSQLQuery, tszUTFBuffer, &nUTFLen);
511+ if (!DataBase_MySQL_Execute (xhDBSQL, tszUTFBuffer))
512+ #else
513+ if (!DataBase_MySQL_Execute (xhDBSQL, tszSQLQuery))
514+ #endif
508515 {
509516 Database_IsErrorOccur = true ;
510517 Database_dwErrorCode = DataBase_GetLastError ();
0 commit comments