我正在使用ado.net和MySQL db。当我将cyrillic值插入db时,它们被插入为'?'符号。我在db中尝试过各种编码,这没什么用。我尝试过utf-8,utf-16,cp-1251等等。 所以当我执行这段代码时
MySql.Data.MySqlClient.MySqlConnection con = new MySql.Data.MySqlClient.MySqlConnection("server=localhost;User Id=root;database=voteme");
MySql.Data.MySqlClient.MySqlCommand cmd = new MySql.Data.MySqlClient.MySqlCommand("INSERT INTO districts(DistrictName) VALUES('іавп')",con);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
我收到'????'存储在我的数据库中。我该如何解决这个问题? 感谢。
编辑:我尝试在数据库中使用varchar和text字段类型:结果仍然相同。
答案 0 :(得分:2)
请务必使用UTF8作为数据库归类。
打开连接后立即尝试:
con.ConnectionString =“database = DATABASE; server = localhost; user id = USERNAME; pwd = PASSWORD; CharSet = utf8”;创建连接后。
答案 1 :(得分:0)
根据This Post您可能需要执行此操作:
ALTER TABLE tablename CHARACTER SET utf8 COLLATE utf8_general_ci;