我用
MySqlConnection con = new MySqlConnection("server=localhost;database=m1cleedb;uid=m1cleeuser;pwd=**;pooling=false");
MySqlCommand cmd = new MySqlCommand("insert into duyurular(adi, kim_icin, duyurulma_tarihi, detay) values(?p_1, ?p_2, ?p_3, ?p_4) ", con);
cmd.Parameters.AddWithValue("?p_1", duyuru_adi.Text);
cmd.Parameters.AddWithValue("?p_2", DropDownList3.SelectedItem.Text.ToString());
cmd.Parameters.AddWithValue("?p_3", duyuru_tarihi.Value.ToString());
cmd.Parameters.AddWithValue("?p_4", duyuru_editor.Value);
con.Open();
代码块在我的“duyurular”表中插入一行。 我想在这里得到土耳其人的支持,但无论我怎么做,它都行不通。 我希望能够将“ğ”字符放在?p_1中。但是当我这样做时,它会像“g”一样插入。
然后,我决定在我的MySQL WorkBench端尝试它。
INSERT INTO `m1cleedb`.`duyurular`
(`adi`,
`kim_icin`,
`duyurulma_tarihi`,
`detay`,
`kategori`)
VALUES
('ğğ','ğğ','ğğ','şş','ğğ');
结果令人沮丧..它正确地插入了“ğ,ş”字符...
什么可能导致我的asp.net插入命令和我的mysql workbench insert命令之间的区别? ://
我也确实设置了一些断点,我看到了吗?p_1 paramater的价值真的去了“ğğ”..
任何帮助将不胜感激..
答案 0 :(得分:2)
我相信您需要告诉连接您要使用的编码类型。
MySqlConnection("server=localhost;database=m1cleedb;uid=m1cleeuser;pwd=**;pooling=false");
应该是
MySqlConnection("server=localhost;database=m1cleedb;uid=m1cleeuser;pwd=**;pooling=false;CHARSET=utf8;");