wikipedia的mysql utf8中文在.net中的处理

  使用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的则不行。
原文地址:https://www.cnblogs.com/margiex/p/987810.html