我在一个窗口应用程序(C#)中工作,数据库是 MySQL。在应用程序中,我正在获取 gmail 收件箱并将其保存到数据库中。但是我的问题是,当我在代码中使用插入查询时,Subject
或者message
在印地语中显示消息的列中,但是当保存在数据库中时,它会显示????????
这样的字符。我已经在 MySQL 中更改了 UTF-8 中的所有内容。
当我使用 MySQL 编辑器插入相同内容时,它会保存在印地语字体中。这对我来说是一个奇怪的情况,因为我是 MySQL 新手。
foreach (ImapMessageInfo message in messages)
{
InsertMail(message.UniqueId, message.Sender.ToString(), message.To.ToString(), message.Subject.Trim(), message.Date.LocalTime, client.GetMailMessage(message.SequenceNumber).BodyText);
}
public void InsertMail(string uid, string from, string to, string subject, DateTime datetime, string message)
{
try
{
MySqlCommand cmd = new MySqlCommand();
cmd.Parameters.AddWithValue("@unique_id", uid);
cmd.Parameters.AddWithValue("@sender", from);
cmd.Parameters.AddWithValue("@reciever", to);
cmd.Parameters.AddWithValue("@subject", subject);
cmd.Parameters.AddWithValue("@date", datetime);
cmd.Parameters.AddWithValue("@message", message);
cmd.Parameters.AddWithValue("@mail_status", "unread");
cmd.Connection = con;
string query = "Insert Ignore into gmail_inbox(unique_id,sender,reciever,subject,date,message,mail_status) values (@unique_id,@sender,@reciever,@subject,@date,@message,@mail_status) ";
cmd.CommandText = query;
cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
}
}