配置C14/C13 mysql视图连接时,报错:the given key was not present in the dictionary

本文介绍了在C14/C13设备软件中配置MySQL连接时遇到的'the given key was not present in the dictionary'错误,该错误与字符集和字符集排序有关。解决方法包括指定客户端字符集和修改字段的字符集与排序规则。同时,讨论了MySQL、SQL Server和PostgreSQL的字符集与排序规则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

the given key was not present in the dictionary

"the given key was not present in the dictionary"这个错误经常出现在C#连接mysql上。

这个错误,我是在C14呼气检测仪设备软件上配置mysql连接,测试连接成功,在获取用户信息时出现的,即是在select查询语句时出现的。

通过搜索发现这个问题跟字符集(character)和字符集排序(collation)有关。

跟字符集有关,连接时指定客户端字符集就行。

跟字符集排序有关,我的处理办法是,把所有字段的字符集从utf8m4改为utf8,字符集排序从utf8mb4_general_ci改为utf8_bin

字符集(Character set)和字符集排序(collate)

字符集(Character set)

字符(Character)是各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字等。字符集(Character set)是多个字符的集合,字符集种类较多,每个字符集包含的字符个数不同,常见字符集名称:ASCII字符集、GB2312字符集、BIG5字符集、 GB18030字符集、Unicode字符集等。计算机要准确的处理各种字符集文字,就需要进行字符编码,以便计算机能够识别和存储各种文字。中文文字数目大,而且还分为简体中文和繁体中文两种不同书写规则的文字,而计算机最初是按英语单字节字符设计的,因此,对中文字符进行编码,是中文信息交流的技术基础。

字符集排序(collate)

排序规则 (collation) 是在字符集中比较字符以及字符排序顺序的规则。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值