2015-09-09 13 views
6

Pracuję z aplikacją uniwersalną Windows 10 i procesorem ARM, aby tworzyć aplikacje dla Raspberry Pi. Podczas kodowania pojawia się następujący błąd:Windows -1252 nie jest obsługiwana nazwa kodowania. C#

Informacje dodatkowe: "Windows-1252" nie jest obsługiwaną nazwą kodowania. Informacje na temat definiowania niestandardowego kodowania znajdują się w dokumentacji metody Encoding.RegisterProvider.

To jest mój kod.

private async void Login(string passcode) 
    { 
     try 
     { 
      MySqlConnection conn = new MySqlConnection("Server=127.0.0.1;Port=3306;Database=database;Uid=username;Pwd=password;SslMode=None;charset=utf8"); 
      MySqlCommand cmd; 

      conn.Open(); 

      cmd = new MySqlCommand("Select * from users where User = '" + passcode + "'", conn); 

      MySqlDataReader dr; 

      dr = cmd.ExecuteReader(); 

      int count = 0; 

      while (dr.Read()) 
      { 
       count += 1; 
      } 

      if(count == 1) 
      { 
       var dialog = new MessageDialog("Logged In"); 
       await dialog.ShowAsync(); 
      } 
      else 
      { 
       var dialog = new MessageDialog("Error"); 
       await dialog.ShowAsync(); 
      } 

     } 
     catch (Exception ex) 
     { 
      if (ex is MySqlException) 
      { 
       MySqlException exl = (MySqlException)ex; 
       var dialog = new MessageDialog(ex.Message + Environment.NewLine + exl.Number); 
       await dialog.ShowAsync(); 
      } 
      else 
      { 
       var dialog = new MessageDialog(ex.Message + Environment.NewLine); 
       await dialog.ShowAsync(); 
      } 

      //throw; 
     } 
     finally 
     { 
      conn.Close(); 
     } 


    } 
} 

pojawia się błąd w tej linii kodu

dr = cmd.ExecuteReader(); 

Przed kiedyś dostać w

conn.open(); 

Ale udało mi się go rozwiązać dodając

charset=utf8 

do ciągu połączenia.

Jak mogę rozwiązać ten błąd?

+2

Nie wiem, jakie pytanie trzeba jeszcze jako „Udało mi się go rozwiązać za ...” to ostatnia część słupka ... Proszę wymienić dziękuję zauważa z dokładne pytanie. –

+0

http://stackoverflow.com/questions/13563973/windows-1255-jest-noto-a-supported-encoding-name – niksofteng

+1

@AlexeiLevenkov well byłem w stanie rozwiązać go, gdy mam ten sam błąd w linii kodu "conn .otwarty();" Jednak teraz otrzymuję ten błąd w wierszu "dr = cmd.ExecuteReader();" Czy to wyjaśnia? –

Odpowiedz

9

I rozwiązany ten problem dodając

System.Text.EncodingProvider ppp; 
ppp = System.Text.CodePagesEncodingProvider.Instance; 
Encoding.RegisterProvider(ppp); 
Powiązane problemy