使用Mysql.Net connector,而不是odbc或oledb进行数据库连接。即使用MySqlConnection, MySqlCommand等类。
  然后每次连接数据库之后,先执行SQL:   set names 'utf8'
  针对 varbinary类型的字段:
  输入,
    MySqlParameter param = new MySqlParameter("title", MySqlDbType.VarBinary);
            param.Value = Encoding.UTF8.GetBytes(“中文标题");
            cmd.Parameters.Add(param);
    输出:
      执行SQL时先转换:select cast(title as char) as title from table,然后代码中row["title"].ToString()即可。
           
  blob
    输入,
   MySqlParameter param = new MySqlParameter("txt", MySqlDbType.MediumBlob);
            param.Value = Encoding.UTF8.GetBytes(content);
            cmd.Parameters.Add(param);
    输出:     
      在代码中对数据进行编码转换:Encoding.UTF8.GetString((byte[])dr["content"]]).Trim().
 
  另外,在 phpmyadmin中可以直接insert into values(“中文”),而select时,varbinary可以直接显示为中文,但blob的则不行。

相关文章:

  • 2022-12-23
  • 2022-01-24
  • 2021-06-15
  • 2022-12-23
  • 2022-12-23
  • 2021-12-05
  • 2022-12-23
猜你喜欢
  • 2022-02-06
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-05-20
  • 2022-12-23
相关资源
相似解决方案