Writing text file how to force ANSI format C#

Viewed 4246

Using the following to try to write a text file in ANSI but still show UTF-8 when opened. How to write in ANSI format? This is on Windows 10. In notepad++ or notepad bottom right corner it will say ANSI or UTF-8 when I open different text files. The one my program produce says UTF-8.

private void createHeader()
        {
            StringBuilder sb = new StringBuilder();
            string delimiter = "ª";

            sb.Append(batchNumber);
            sb.Append(delimiter);
            sb.Append("Delete PLUs");
            sb.Append(delimiter);

            string today = DateTime.Now.ToString("MM/dd/yyyy hh:mm:ss tt");
            //Console.WriteLine(today);
            sb.Append(today);

            for (int i =0; i < 15; i++)
            {
                sb.Append(delimiter);
            }

            sb.Append(Environment.NewLine);

            Console.WriteLine(sb.ToString());

            System.IO.StreamWriter objWriter;
            objWriter = new System.IO.StreamWriter(new FileStream(pathToFile, FileMode.OpenOrCreate), Encoding.ASCII);
            objWriter.WriteLine(sb.ToString());
            objWriter.Close();
            //System.IO.File.WriteAllText(pathToFile, sb.ToString(), Encoding.ASCII); // Erases current file and overwrite

            //return sb.ToString();
        }
1 Answers

Use encoding 1252.

using (TextWriter tw = new StreamWriter(pathToFile, true, Encoding.GetEncoding(1252)))
{
          tw.WriteLine(sb.ToString());
}
Related