user877559
user877559

Reputation:

MySQL asp.net character set doesn't work properly

I use

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();

code block to insert a row inside my "duyurular" table. I want to get turkish character support in this but whatever I tried, it didn't work. I want to be able to put "ğ" char inside of ?p_1. but when I do this, it is inserted like "g".

Then, I decided to try it on my MySQL WorkBench side.

    INSERT INTO `m1cleedb`.`duyurular`
(`adi`,
`kim_icin`,
`duyurulma_tarihi`,
`detay`,
`kategori`)
VALUES
('ğğ','ğğ','ğğ','şş','ğğ');

The result is frustrating.. It inserted the "ğ, ş" chars properly...

What could cause the difference between my asp.net insert command and my mysql workbench insert command? ://

I also did put some breakpoints and I saw that ?p_1 paramater's value really goes to "ğğ"..

Any help would be appreciated..

Upvotes: 2

Views: 497

Answers (1)

John Babb
John Babb

Reputation: 951

I believe you need to tell the connection what type of encoding you want to use.

MySqlConnection("server=localhost;database=m1cleedb;uid=m1cleeuser;pwd=**;pooling=false");

should be

MySqlConnection("server=localhost;database=m1cleedb;uid=m1cleeuser;pwd=**;pooling=false;CHARSET=utf8;");

C# Mysql UTF8 Encoding

Upvotes: 1

Related Questions