0
点赞
收藏
分享

微信扫一扫

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

酷子腿长一米八 2022-05-02 阅读 48

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) 是在字符集中比较字符以及字符排序顺序的规则。

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

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

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

参考PostgreSQL 中文文档关于字符集的介绍

参考文章

To Overcome “The Given Key Was Not Present In The Dictionary” Exception In MySQL

百度百科 字符集

举报

相关推荐

0 条评论