緊急の共有ファイルの読み取りおよび書き込みエラー

 
void WriteToCsvFile(string file_name)
  {
   int filehandle=FileOpen(file_name,FILE_WRITE|FILE_CSV|FILE_COMMON,'*');
   if(filehandle!=INVALID_HANDLE)
     {
      FileWrite(filehandle,_Symbol);
      FileClose(filehandle);
      Print("FileOpen OK");
     }
  }
string  ReadFromCsvFile(string file_name)
  {
   int filehandle=FileOpen(file_name,FILE_READ|FILE_CSV|FILE_COMMON,'*');
   string strread = "";
   if(filehandle!=INVALID_HANDLE)
     {
      strread = FileReadString(filehandle);
      FileClose(filehandle);
     }

return  strread ;

}

例: 1. MT4 で WriteToCsvFile("fractals_mql4.csv") を使用します。MT4 で ReadFromCsvFile ("fractals_mql4.csv")データは正しいです2. MT4 で WriteToCsvFile("fractals_mql4.csv") を使用します。MT5 で ReadFromCsvFile ("fractals_mql4.csv") データエラー

3. MT5 で WriteToCsvFile("fractals_mql5.csv") を使用します。MT4 で ReadFromCsvFile ("fractals_mql5.csv") データは正しいです

4. MT5 で WriteToCsvFile("fractals_mql5.csv") を使用します。MT5 で ReadFromCsvFile ("fractals_mql5.csv")  データは正しいです

MT4 でファイルを書き込むときと MT5 でファイルを読み込むときにエラーが発生するのですが、解析されたファイルの内容が実際に矛盾しています。外部 DLL を使用せずに問題を解決するにはどうすればよいですか?

 

int  FileOpen( 

  string  file_name,         // ファイル名 

  int    open_flags,         // フラグの組み合わせ 

  short  delimiter='\t',     // デリミタ 

  uint    codepage=CP_ACP    // コードページ 

);

open_flagsに「FILE_UNICODE」を追加してみてはいかがでしょうか?