Windows -1252不支持编码名称。 C#
我正在使用Windows 10 Universal App和ARM CPU为Raspberry Pi创建应用程序。 编码时出现以下错误:
附加信息:’windows-1252’不是受支持的编码名称。 有关定义自定义编码的信息,请参阅Encoding.RegisterProvider方法的文档。
这是我的代码。
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(); } } }
我在这行代码中得到了错误
dr = cmd.ExecuteReader();
在我习惯之前
conn.open();
但我能够通过添加来解决它
charset=utf8
到连接字符串。
我该如何解决这个错误?
我解决了这个问题
System.Text.EncodingProvider ppp; ppp = System.Text.CodePagesEncodingProvider.Instance; Encoding.RegisterProvider(ppp);