diff --git a/Slfio/src/slf.cpp b/Slfio/src/slf.cpp index 4414a2b..4ddd998 100644 --- a/Slfio/src/slf.cpp +++ b/Slfio/src/slf.cpp @@ -2475,15 +2475,17 @@ int CSlfIO::SetTableHead(int index,DWORD RecordCount,DWORD FieldCount,Slf_TABLE_ if(IsWis) return SetWisTableHead(index,RecordCount,FieldCount,FieldInfo); else { Slf_OBJECT_FIELD *pf=new Slf_OBJECT_FIELD[FieldCount]; + QString strMojibake = "屯"; //乱码判断 + QByteArray ArrayMojibake = strMojibake.toLocal8Bit().data(); for(int i=0;istrlen(FieldInfo[i].Name)) len=strlen(FieldInfo[i].Name); @@ -2536,6 +2538,8 @@ bool CSlfIO::SetTableFieldInfo(int index,Slf_TABLE_FIELD *FieldInfo) int FieldCount=m_SlfObjectEntry[index].FieldNum; Slf_OBJECT_FIELD *pf=new Slf_OBJECT_FIELD[FieldCount]; GetSlfTableFieldInfo(index,pf); + QString strMojibake = "屯"; //乱码判断 + QByteArray ArrayMojibake = strMojibake.toLocal8Bit().data(); for(int i=0;isizeof(pf[i].HZName)) len=sizeof(pf[i].HZName); strncpy(pf[i].HZName,FieldInfo[i].HZName,sizeof(pf[i].HZName)); pf[i].HZName[len]=0; - if(strncmp(FieldInfo[i].Unit,"屯",2)==0) strcpy(FieldInfo[i].Unit,""); + if(strncmp(FieldInfo[i].Unit,ArrayMojibake.data()/*"屯"*/,2)==0) strcpy(FieldInfo[i].Unit,""); len=strlen(FieldInfo[i].Unit); if(len>sizeof(pf[i].Unit)) len=sizeof(pf[i].Unit); strncpy(pf[i].Unit,FieldInfo[i].Unit,sizeof(pf[i].Unit)); pf[i].Unit[len]=0; - if(strncmp(FieldInfo[i].HZUnit,"屯",2)==0) strcpy(FieldInfo[i].HZUnit,FieldInfo[i].Unit); + if(strncmp(FieldInfo[i].HZUnit,ArrayMojibake.data()/*"屯"*/,2)==0) strcpy(FieldInfo[i].HZUnit,FieldInfo[i].Unit); len=strlen(FieldInfo[i].HZUnit); if(len>sizeof(pf[i].HZUnit)) len=sizeof(pf[i].HZUnit); @@ -2579,6 +2583,8 @@ bool CSlfIO::GetTableFieldInfo(int index,Slf_TABLE_FIELD *FieldInfo) Slf_OBJECT_FIELD *pf=new Slf_OBJECT_FIELD[FieldCount]; memset(pf,0,sizeof(Slf_OBJECT_FIELD)*FieldCount); GetSlfTableFieldInfo(index,pf); + QString strMojibake = "屯"; //乱码判断 + QByteArray ArrayMojibake = strMojibake.toLocal8Bit().data(); for(int i=0;i