1

我正在使用 ado.net 和 MySQL 数据库。当我将西里尔字母值插入 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 字段类型:结果仍然相同。

4

2 回答 2

3
  1. 请务必使用 UTF8 作为数据库排序规则。

  2. 打开连接后立即尝试:

    con.ConnectionString = "database=DATABASE;server=localhost;user id=USERNAME;pwd=PASSWORD;CharSet=utf8"; 创建连接后。

于 2012-08-08T18:12:00.553 回答
0

根据这篇文章,您可能需要这样做:

ALTER TABLE tablename CHARACTER SET utf8 COLLATE utf8_general_ci;
于 2012-08-08T18:18:01.247 回答