У меня проблема с кодировкой кодировки process.standartInput. Я использую какой-то процесс в моем приложении формы Windows, но ввод должен быть UTF-8. Process.StandardInput.Encoding читается только, поэтому я не могу установить его в UTF-8, и он получает кодировку по умолчанию Windows, которая ухудшает собственные символы, которые хороши в UTF-8. В программе используются 2 процесса, один записывает вывод в файл и другие чтения. Поскольку я могу настроить выходное кодирование на UTF-8, эта часть работает правильно, но чтение обратно является той частью, где возникают проблемы. Я включу часть, в которой я использую этот процесс.
ProcessStartInfo info = new ProcessStartInfo("mysql");
info.RedirectStandardInput = true;
info.RedirectStandardOutput = false;
info.Arguments = mysqldumpstring;
info.UseShellExecute = false;
info.CreateNoWindow = true;
Process p1 = new Process();
p1.StartInfo = info;
p1.Start();
string res = file.ReadToEnd();
file.Close();
MessageBox.Show(p1.StandardInput.Encoding.EncodingName); //= where encoding should be Encoding.UTF8;
p1.StandardInput.WriteLine(res);
p1.Close();