【高手和版主帮忙啊】请问linux移植过程中二进制中文文件的乱码有关问题

【高手和版主帮忙啊】请教linux移植过程中二进制中文文件的乱码问题
我在把一个项目从windows移植到linux下,已经解决了所有的问题。
但通过测试确定了一个错误就是,原先在windows某配套程序生成的二进制文件A,要在我的程序中装载使用,里面有中文信息。
移植之后,将A文件放置在linux下读取,就发生了乱码。

请问高手朋友,如何解决啊,这方面一点经验都没有啊,多谢多谢了

附上读取函数:(windows下用这个函数读的,没有问题)

bool   CDictionary::Load(const   char   *pszFileName)//*pszFileName是文件A的名称
{
FILE   *fp;
Free();
if((fp=fopen(pszFileName, "rb "))==NULL)
      return   false; //fail   while   opening   the   file
fread(&m_nIndexSum,sizeof(int),1,fp); //ܵ
m_pIndexTable=new   CIndexNode[m_nIndexSum];
for(int   i=0;i <m_nIndexSum;i++)
m_pIndexTable[i].ReadFile(fp);
fclose(fp);
return   true;
}

------解决方案--------------------
先不论是否乱码,
读取后输出看看,
是否正确 ~

由于使用 rb 方式,
那么对应的写文件也是一样的二进制方式,
而二进制方式写文件容易产生乱码,
不过这个没有关系,
不影响信息的正确性 ~
------解决方案--------------------
我也是菜鸟,你在linux下WR出来的2进制的数据是对的吧,也就是每个字节的数据还是对的吧,有乱码,是因为window是GB2312的标准,linux下是UTF-8