I mitt program öppnar jag cmd med Måste ju ha något med teckenkodning att göra... Men har ingen aning om hur det påverkar här eller hur man kan motverka det. Vad händer om du kör kommandot direkt från din applikation, måste du öppna en kommandopropt först? Vet inte ens om man kan köra kommandot direkt från applikationen. Jag öppnar prompt iaf. Har testat både Detta är väldigt otestat och jag vet inte riktigt om det fungerar... Jag tror att du måste konvertera från ANSI till OEM. Det finns en funktion i user32.dll som kan användas för det. Den heter CharToOem. Vet inte om det finns direkt i C#. Tack så mycket :) Fick även hjälp från annat håll och löste det genom att encoda om kommandosträngenåäö i cmd
ProcessStartInfo pInfo = new ProcessStartInfo("cmd");
Där försöker jag köra följande kommando
c:\wamp\bin\mysql\mysql5.0.45\bin\mysql.exe -u root --password="password" databas < "C:\lål.sql"
Det fungerar att skriva direkt i kommandotolken men från c# går det inte när å ä och ö finns med. Någon som vet anledningen eller vad jag kan göra åt saken?Sv: åäö i cmd
/JohanSv:åäö i cmd
pInfo.StandardOutputEncoding = System.Text.Encoding.Default;
pInfo.StandardErrorEncoding = System.Text.Encoding.Default;Sv: åäö i cmd
ProcessStartInfo psi = new ProcessStartInfo("cmd", @"c:\wamp\bin\mysql\mysql5.0.45\bin\mysql.exe -u root --password=password databas < C:\lål.sql");
psi.RedirectStandardOutput = true;
psi.RedirectStandardError = true;
psi.UseShellExecute = false;
Process p = Process.Start(psi);
//väntar i max 1 timma på att applikationen ska bli klar
p.WaitForExit(3600000);
TextReader tErr = p.StandardError;
TextReader t = p.StandardOutput;
string Err = tErr.ReadToEnd(); //ev. felmeddelanden
string REsultat + t.ReadToEnd(); //utdata från applikationen
/Johan
Sv:åäö i cmd
/Ruben
www.rjjournal.netSv: åäö i cmd
string command = mysqlPath + " -u root --password=\"password\" exjobb < c:\\lål.sql";
Encoding encoder = Encoding.GetEncoding(858);
command = Encoding.Default.GetString(encoder.GetBytes(command));