You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用PowerShell MySQL Cmdlet连接MySQL数据库失败:提示utf8mb3字符集不被.NET Framework支持

解决Connect-MySqlServer报错"utf8mb3 is not supported by .Net Framework"的问题

我之前也碰到过一模一样的情况——明明改了数据库默认字符集,连接还是报这个错,下面是几个能解决问题的方案,你按顺序试试:

1. 在连接命令里强制指定utf8mb4字符集

服务器默认字符集改了,但PowerShell的MySQL Cmdlet可能还是会用旧的字符集参数发起连接,直接在命令里加上字符集参数就能绕开这个问题:

Connect-MySqlServer -Server "127.0.0.1" -Database "pcinventory" -UserName "root" -Password $pass -CharacterSet utf8mb4

2. 检查并修改现有数据库/表的字符集

你修改的是服务器全局默认字符集,但已经创建好的数据库、表并不会自动同步这个设置,得手动更新:

  • 先登录MySQL控制台,检查目标数据库的字符集:
SELECT schema_name, default_character_set_name FROM information_schema.schemata WHERE schema_name = 'pcinventory';
  • 如果结果还是utf8mb3,执行修改命令:
ALTER DATABASE pcinventory CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  • 接着检查数据库内的表字符集:
SELECT table_name, table_collation FROM information_schema.tables WHERE table_schema = 'pcinventory';
  • 对每个仍为utf8mb3的表执行修改:
ALTER TABLE [你的表名] CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

3. 升级PowerShell的MySQL模块

旧版本的it.wiechecki.ps.mysql模块对utf8mb4的支持有缺陷,更新到最新版本大概率能解决问题:

# 先检查当前版本
Get-Module -ListAvailable it.wiechecki.ps.mysql
# 更新模块
Update-Module -Name it.wiechecki.ps.mysql -Force

如果更新失败,可以先卸载旧版本再重装:

Uninstall-Module -Name it.wiechecki.ps.mysql -Force
Install-Module -Name it.wiechecki.ps.mysql -Scope CurrentUser

4. 确认.NET Framework版本支持

utf8mb4在.NET Framework 4.5及以上版本才完全支持,你可以在PowerShell里查看当前版本:

Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP' -Recurse | 
Get-ItemProperty -Name Version -ErrorAction SilentlyContinue | 
Where-Object { $_.Version -match '^[4-9]\.' } | 
Sort-Object Version -Descending

如果版本低于4.5,建议升级到最新的.NET Framework版本。


内容的提问来源于stack exchange,提问作者claeys

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.01 01:27:40