In case anyone stumble upon this, after much searching I have found a fix for this problem even thoughI don't know exactly how it works
I changed my code to look like this
-
StreamWriter sw2= new StreamWriter("Devices.FIL", true, Encoding.GetEncoding("ISO-8859-15"));
-
-
string DegreeC = "°C";
-
-
IO_file = "t_01_0" + CBA41G1Bus.Text + "_" + StartAddress1 + "_" + temp + "\t" + temp + ".000000\t0\t"+ DegreeC";
-
-
sw2.WriteLine(IO_file);
-
this code would not work correctly with ASCII, UTF7, UTF32, or its default UTF8
In ASCII it replace the degree symbol with question marks.
Oddly it did work with UNICODE but the program I am making this file for doesn't read it so it was pointless.
this ISO was the only thing that made it all functional