logeyg
logeyg

Reputation: 559

Handling Special Characters (¦)

I'm a bit lost on how to read and write to/from text files in C# when special characters are present. I'm writing a simple script that does some cleanup on a .txt data file which contains the '¦' character as its delimiter.

 foreach (string file in Directory.EnumerateFiles(@"path\raw txt","*.txt"))
            {
                string contents = File.ReadAllText(file);              
                contents = contents.Replace("¦", ",");
                File.WriteAllText(file.Replace("raw txt", "txt"), contents);
            }

However, when I open the txt file in Notepad++, the delimeter is now �. What exactly is going on? What even is this characters (¦) encoding / how would I determine that? I've tried adding things like:

string contents = File.ReadAllText(file, Encoding.UTF8);
File.WriteAllText(file.Replace("raw txt", "txt"), contents, Encoding.UTF8);

Upvotes: 1

Views: 1292

Answers (2)

logeyg
logeyg

Reputation: 559

Everything is now working correctly by switching the encoding to 'default' when both reading/writing.

string contents = File.ReadAllText(file, Encoding.Default);
File.WriteAllText(file.Replace("raw txt", "txt"), contents, Encoding.Default);

Upvotes: 3

viktarpunko
viktarpunko

Reputation: 353

Try change encoding of Notepad to UTF-8

Upvotes: 0

Related Questions