The BOM Header is missing in the .csv file.
Try the following:
using DataFrames, CSV
df = DataFrame([:TypeProduct => [1,2,3], Symbol("Coût - €/l") => [4,5,6]])
CSV.write("df.csv", df;delim=";")
inStream = open("df.csv","r")
outStream = open("df_bom.csv","w")
print(outStream,"\xEF\xBB\xBF") #UTF-8 BOM header
print(outStream, read(inStream,String))
close(outStream)
close(inStream)