MFC读取文件出现乱码问题

定义了一个结构体,存储管理员信息。现在文件中存在两条记录,想读取,显示在编辑框中,却出现了乱码,该如何解决?
代码如下:

 ADMINSTRATORLIST adm;
    //memset(&adm,0,sizeof(adm));
    CFile file;
    try
    {
        file.Open(_T("管理员信息.txt"),CFile::modeRead|CFile::modeCreate|
            CFile::modeNoTruncate);
        ADMINSTRATORLIST adm;
        file.Read(&adm,sizeof(ADMINSTRATORLIST)); //从文件中读一条记录
    }
    catch ( CFileException e)
    { e.ReportError();
    }
    file.Close();

        m_AdmID=adm.AdmID;
        m_AdmName=adm.AdmName;
        m_AdmGender=adm.AdmGender;
        m_AdmAge=adm.AdmAge;
        UpdateData(false);

    return TRUE;  // return TRUE unless you set the focus to a control
    // 异常: OCX 属性页应返回 FALSE

注:经过查询,用memset()函数初始化结构体,所以文件中保存的记录并无乱码。但是显示在编辑框中的是乱码“烫烫烫烫烫烫”。
txt文件如下:

 001       梁朝伟              男        28        002       刘德华              男        30        

请问该如何解决?

我好像曾经也遇到这个问题,我当时的问题是因为,我那个文件本身的格式不是utf-8格式,你可以试试看吧代码文件和txt文件都改成utf-8格式看看

ADMINSTRATORLIST adm;

file.Read(&adm,sizeof(ADMINSTRATORLIST)); //从文件中读一条记录

你为什么要读到这个ADMINSTRATORLIST数据结构中?你的文件的数据是这样保存的吗?