配置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的字符集与排序规则。

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

百度百科 字符集

当出现 `button-getPhoneNumber` 报错 `api scope is not declared in the privacy agreement` ,可从以下方面解决: ### 检查隐私协议声明 需要保证在小程序管理后台准确声明了获取用户手机号的权限。若未声明,用户授权就会出现该错误。要登录小程序管理后台,在“设置 - 隐私设置”中检查是否添加了获取用户手机号的权限声明 [^1]。 ### 更新隐私协议 若隐私协议未及更新,可能会和当前使用的 API 不匹配。登录小程序管理后台,更新隐私协议内容,保证其包含获取用户手机号的相关描述。更新后,需重新提交审核,审核通过后再进行测试 [^1]。 ### 检查代码配置 要保证代码里正确调用了 `button-getPhoneNumber` 组件,并且事件处理函数编写无误。示例代码如下: ```html <button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">获取手机号</button> ``` ```javascript Page({ getPhoneNumber: function(e) { if (e.detail.errMsg === 'getPhoneNumber:ok') { // 处理获取手机号逻辑 console.log(e.detail); } else { console.log('获取手机号失败', e.detail.errMsg); } } }) ``` ### 清理缓存并重新测试 有候,小程序的缓存可能会影响权限的验证。可以在开发者工具或者真机上清理小程序缓存,然后重新测试获取手机号的功能。 ### 参考官方文档和社区 可参考微信官方文档和开发者社区的相关内容,例如 https://developers.weixin.qq.com/community/develop/article/doc/0006e28bddcdd89ff7208d2e06bc13 和 https://developers.weixin.qq.com/community/develop/article/doc/000c0e8fbd40d0e5fb205387966c13 ,从中获取更多解决方案和经验分享 [^2]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值