È possibile utilizzare una stringa UTF-8 come argomento per un oggetto StartInfo?Process.StartInfo.Arguments supporta una stringa UTF-8?
Sto cercando di passare un UTF-8 (in questo caso una stringa giapponese) a un'applicazione come argomento della console.
Qualcosa di simile (questo è solo un esempio! (Cmd.exe sarebbe un'applicazione personalizzata))
var process = new System.Diagnostics.Process();
process.StartInfo.Arguments = "/K \"echo これはテストです\"";
process.StartInfo.FileName = "cmd.exe";
process.StartInfo.UseShellExecute = true;
process.Start();
process.WaitForExit();
L'esecuzione di questo sembra perdere la stringa UTF-8 e tutta l'applicazione di destinazione vede è " eco ?????????"
Quando si esegue questo comando direttamente sulla riga di comando (incollando gli argomenti) l'applicazione di destinazione riceve correttamente la stringa anche se la riga di comando stessa non sembra visualizzarla correttamente.
Devo fare qualcosa di speciale per abilitare il supporto UTF-8 negli argomenti o questo non è supportato?
hai passato gli argomenti alla tua app avviando l'app utilizzando Process e ProcessStartInfo o direttamente dalla riga di comando? –
Ho usato Process/ProcessStartInfo - Ho modificato solo "cmd.exe" in "test.exe" che era la mia app WinForms. –