foreach (var f in new DirectoryInfo(@"...").GetFiles("*.cs", SearchOption.AllDirectories))
{
string s = File.ReadAllText(f.FullName);
File.WriteAllText (f.FullName, s, Encoding.UTF8);
}
Только подумайте, действительно ли это вам нужно и чем не устраивает utf-16 (тот же rc compiler не поддерживает восьмерку, но поддерживает 16)