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

25 篇文章 0 订阅
1 篇文章 0 订阅

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

详细报错内容

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

修改数据

ALTER DATABASE
    myblog
    CHARACTER SET = utf8mb4
    COLLATE = utf8mb4_unicode_ci;

在这里插入图片描述

修改表

ALTER TABLE
    mm_t_user
    CONVERT TO CHARACTER SET utf8mb4
    COLLATE utf8mb4_unicode_ci;

在这里插入图片描述

修改字段

alter table mm_t_user modify content  VARCHAR(500) character set utf8mb4 COLLATE utf8mb4_unicode_ci;

在这里插入图片描述

  • 11
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
COLLATION 'utf8mb4_0900_ai_ci' is not valid for CHARACTER SET 'utf8mb3'这个错误是由于数据库的字符集和校对规则(COLLATION)不匹配导致的。根据引用和引用的解决方法,你可以尝试将文件中的所有的utf8mb4_0900_ai_ci替换为utf8_general_ci,同时将utf8mb4替换为utf8。这样做可以确保文件中的字符集和校对规则与你的数据库设置相匹配。例如,你可以使用编辑工具(如Notepad++)搜索并替换这些文本。这样,当你再次尝试导入sql文件时,就不会出现COLLATION 'utf8mb4_0900_ai_ci' is not valid for CHARACTER SET 'utf8mb3'的错误了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Unknown collation: ‘utf8mb4_0900_ai_ci’的解决方法](https://blog.csdn.net/listeningdu/article/details/128075582)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [COLLATION ‘utf8_general_ci‘ is not valid for CHARACTER SETutf8mb4‘(Mysql8.0转5.7sql文件)](https://blog.csdn.net/qq_42946376/article/details/120005702)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值