c#连接mysql数据库问题

兔子-顾问 2017-05-05 05:44:48
数据库是别人建立的,不可以修改,数据集是:utf8mb4_unicode_ci
我写的连接字符串中,如果描述charset='utf8'
会异常,信息为:
给定关键字不在字典中。
“System.Collections.Generic.KeyNotFoundException”类型的未经处理的异常在 mscorlib.dll 中发生
如果我的charset='utf8mb4_unicode_ci'
会提示我:
Unknown character set: 'utf8mb4_unicode_ci'


请问如何才可以连接?
...全文
256 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
兔子-顾问 2017-05-07
  • 打赏
  • 举报
回复
问题解决了,之前用的mysql.data.dll是旧版本的,换成官方新版本就没问题了。 er... 结帖吧。
兔子-顾问 2017-05-07
  • 打赏
  • 举报
回复
引用 4 楼 baronyang 的回复:
System.Collections.Generic.KeyNotFoundException 是查出来后的操作代码有异常吧
执行查询 select * from TUser 就报错了,没到之后。
引用 3 楼 xuzuning 的回复:
charset='utf8mb4' utf8mb4 是 utf8 的超集,MySQL5.5才提供的,主要是为了支持 emoji表情 符 可以在连接后,通过 set names utf8mb4 指令设置工作字符集
charset修改为这个后,执行MySqlConnection 的Open就报错了。也是键值对的。莫非我需要换个新版本的mysql链接库?
人鱼传说 2017-05-06
  • 打赏
  • 举报
回复
System.Collections.Generic.KeyNotFoundException 是查出来后的操作代码有异常吧
zhujinqiang 2017-05-06
  • 打赏
  • 举报
回复
参考: https://dev.mysql.com/doc/refman/5.5/en/charset-unicode-utf8mb4.html
zhujinqiang 2017-05-06
  • 打赏
  • 举报
回复
试试描述charset='utf8mb4' mysql 里的 utf8 一个字符最多 3 字节 而现在utf8mb4 则扩展到一个字符最多能有 4 字节,所以能支持更多的字符集 utf8mb4 兼容 utf8,且比 utf8 能表示更多的字符,也就是说utf8mb4 是 utf8 的超集 涉及无线相关的 MySQL 数据库建议都提前采用 utf8mb4 字符集
xuzuning 2017-05-06
  • 打赏
  • 举报
回复
charset='utf8mb4' utf8mb4 是 utf8 的超集,MySQL5.5才提供的,主要是为了支持 emoji表情 符 可以在连接后,通过 set names utf8mb4 指令设置工作字符集

111,097

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧