mysql - 将西里尔字母值插入 MySQL 数据库值时,它们看起来是 "?????"

标签 mysql ado.net character-encoding

我正在使用 ado.net 和 MySQL 数据库。当我将西里尔字母值插入数据库时​​,它们被插入为“?”符号。我在 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 和文本字段类型:结果仍然相同。

最佳答案

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

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

    con.ConnectionString = "database=DATABASE;server=localhost;user id=USERNAME;pwd=PASSWORD;CharSet=utf8"; after creating connection.

关于mysql - 将西里尔字母值插入 MySQL 数据库值时,它们看起来是 "?????",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11870543/

相关文章:

WCF SOAP 服务忽略内容类型字符集

javascript - 比较 unicode 代码刻度线值

c++ - 如何将包含不同语言的 wstring 行写入文件?

php - laravel 5 搜索多个字段

Mysql 不返回插入行的正确 id

c# - 我丢失了 : what is wrong with this ado. 网络代码?

ms-access - 使用 C# OleDbConnection 的 Microsoft Access UPDATE 命令和命令不起作用

mysql - 不使用临时表更新列数据

带输入和输出参数的 MySQL 存储过程不适用于字符串输入

c# - C#中如何判断SQL作业是否执行成功