This bug is caused by a wrong calculation of the CSV file size. The length of the BOM char at the end of the file should be 3 bytes instead of 8 bytes.
The bug can be simply fixed with the following bug fix:
In file "modules/Reports/models/Record.php" and function "getReportCSV" change the following line:
fileSize=@filesize(
tempFileName) + 8; // this is wrong
to
fileSize=@filesize(
tempFileName) + 3; // this is the correct size
After this change you can download the CSV files without problems. The bug exists also in vtiger 7.5.
Although the solution is simple it costs me a lot of effort to find the reason for this bug.
and then it started working. Strangely enough I couldn't reproduce the bug in the official demo: https://demo.vtiger.com/vtigercrm/ (which by the way is still a 7.4 version)
I guess there must be some configuration (maybe something about the character set in the DB?) that influences what integer needs to be added for the CSV to be downloaded correctly.