.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;
相关推荐
计算机毕设VX:Fegn089513 分钟前
计算机毕业设计|基于springboot + vue宠物医院管理系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
kimi-2221 小时前
LangChain 将数据加载到 Chroma 向量数据库
数据库·langchain
麒qiqi2 小时前
理解 Linux IO 多路复用
开发语言·数据库
MediaTea2 小时前
Python:模块 __dict__ 详解
开发语言·前端·数据库·python
山峰哥3 小时前
SQL调优核心战法——索引失效场景与Explain深度解析
大数据·汇编·数据库·sql·编辑器·深度优先
GottdesKrieges3 小时前
OMS迁移平台问题排查思路
数据库
源力祁老师3 小时前
Odoo 客户端注册表
数据库
学Linux的语莫3 小时前
Milvus向量数据库的操作(基于Langchain)
数据库·langchain·milvus
怪我冷i3 小时前
dbeaver下载数据库驱动加速
数据库·postgresql·ai编程·ai写作
星辰_mya3 小时前
redis集群
数据库·redis·缓存