gpt4 book ai didi

c# - 如何设置考虑utf8的VS2010设置,以便我可以将数据按原样发送到mysql数据库

转载 作者:行者123 更新时间:2023-11-29 08:46:53 25 4
gpt4 key购买 nike

我有 MYSQL 数据库,其中有一个表(字符集位于 utf8->utf8_general_ci)。当我在此表中插入字符串数据时(通过 MYSQLquery 浏览器),中欧“ČĆŽŠĐ”字母被正确插入。但是,当我尝试通过 C# 应用程序(简单的 VS2010 Windows 窗体应用程序)插入相同的内容时:

"Č" 我在表格中得到 "C""Ć" 我得到 "C"在表中,对于“Đ”,我得到“D”“Ž”“Š”都很好。

我想它取决于VS2010选项,或者...

知道为什么会发生这种情况吗?

代码

点击事件时,我将数据发送到我的表:

private void button1_Click(object sender, EventArgs e)
{
string a= textBox1.Text;
string b= textBox2.Text;
int b= int.Parse(textBox3.Text);
string d= textBox4.Text;

string cs = @"server=localhost;userid=root;password=xxx;database=table";
string myquerystring = "INSERT INTO table VALUES(0,'" +a+ "', '" +b+ "','"+c+"', '"+d+"')";

try
{
conn = new MySqlConnection(cs);
conn.Open();
MySqlCommand cmd = new MySqlCommand();
cmd.Connection = conn;
cmd.CommandText = myquerystring;
cmd.ExecuteNonQuery();
}
catch (MySqlException ex)
{
MessageBox.Show(ex.ToString());
}
finally
{
if (conn != null)
{
conn.Close();
}
}

}

好的,

我尝试了这个编码逻辑:

        string letters = "čćžšđ"; 

byte[] byteENC = Encoding.UTF8.GetBytes(letters);

Console.WriteLine("UTF-8 Text : {0}", Encoding.UTF8.GetString(byteENC));

我按原样得到了它们。另外,当我在 win 表单应用程序中执行此操作时,我得到相同的结果(mbox 中的结果是正确的)。

但是,当我将相同的字符串传输到数据库时,ČĆĐCCD

传输过程中发生了一些事情。什么?我需要帮助吗?

最佳答案

我认为您可以尝试修改您的连接字符串以将 charsetOption 添加到此>>>

string cs = @"server=localhost;userid=root;password=xxx;database=table;CharSet=UTF8";

关于c# - 如何设置考虑utf8的VS2010设置,以便我可以将数据按原样发送到mysql数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12325611/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com