.net framwork4.6操作MySQL报错Character set ‘utf8mb3‘ is not supported 解决方法

文章目录

.net framwork4.6操作MySQL报错Character set 'utf8mb3' is not supported 解决方法

详细报错内容

bash 复制代码
System.NotSupportedException
  HResult=0x80131515
  Message=Character set 'utf8mb3' is not supported by .Net Framework.
  Source=MySql.Data
  StackTrace:
   在 MySql.Data.MySqlClient.CharSetMap.GetCharacterSet(DBVersion version, String charSetName)
   在 MySql.Data.MySqlClient.MySqlField.SetFieldEncoding()
   在 MySql.Data.MySqlClient.NativeDriver.GetColumnData(MySqlField field)
   在 MySql.Data.MySqlClient.NativeDriver.GetColumnsData(MySqlField[] columns)
   在 MySql.Data.MySqlClient.Driver.GetColumns(Int32 count)
   在 MySql.Data.MySqlClient.ResultSet.LoadColumns(Int32 numCols)
   在 MySql.Data.MySqlClient.ResultSet..ctor(Driver d, Int32 statementId, Int32 numCols)
   在 MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force)
   在 MySql.Data.MySqlClient.MySqlDataReader.NextResult()
   在 MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
   在 MySql.Data.MySqlClient.MySqlCommand.ExecuteDbDataReader(CommandBehavior behavior)
   在 System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior)
   在 System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
   在 System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior)
   在 System.Data.Common.DbDataAdapter.Fill(DataTable dataTable)
   在 ConsoleAppSQL.Program.GetMySqlDataTable(String mySqlConn, String sql, MySqlParameter[] parms) 在 C:\Users\Administrator\source\repos\ConsoleAppSQL\ConsoleAppSQL\Program.cs 中: 第 27 行
   在 ConsoleAppSQL.Program.Main(String[] args) 在 C:\Users\Administrator\source\repos\ConsoleAppSQL\ConsoleAppSQL\Program.cs 中: 第 15 行

解决方案

修改字符集和排序为utf8mb4

修改数据

bash 复制代码
ALTER DATABASE
    myblog
    CHARACTER SET = utf8mb4
    COLLATE = utf8mb4_unicode_ci;

修改表

bash 复制代码
ALTER TABLE
    mm_t_user
    CONVERT TO CHARACTER SET utf8mb4
    COLLATE utf8mb4_unicode_ci;

修改字段

bash 复制代码
alter table mm_t_user modify content  VARCHAR(500) character set utf8mb4 COLLATE utf8mb4_unicode_ci;
相关推荐
影寂ldy20 分钟前
C# try-catch 异常处理全套笔记
服务器·数据库·c#
长不胖的路人甲25 分钟前
Redis 缓存的数据持久化方案讲解
数据库·redis·缓存
长不胖的路人甲35 分钟前
Redis 单线程为什么速度很快
数据库·redis·缓存
韩楚风41 分钟前
【参天引擎】Cantian 服务端框架全景解析:进程架构、模块组成与交互关系
数据库·mysql·架构·cantian
Listen·Rain1 小时前
数据库流式查询
java·数据库
雨辰AI1 小时前
生产级实战:人大金仓 V9 标准化运维手册(日常巡检 + 监控告警 + 应急处置)
java·运维·数据库·后端
阿拉斯攀登2 小时前
向量数据库选型:Milvus vs Chroma vs Elasticsearch
数据库·elasticsearch·milvus·知识库·rag·个人知识库
彦为君2 小时前
Redis最新版本特性
java·数据库·redis·算法·bootstrap
vigor5123 小时前
MySQL通过Mango实现分库分表
android·数据库·mysql