【YashanDB知识库】客户端字符集与数据库字符集兼容问题

本文转自YashanDB官网,具体内容请见https://www.yashandb.com/newsinfo/7352675.html?templateId=1718516

问题现象

客户端yasql配置字符集为GBK,服务端yasdb配置字符集为UTF8,之后执行语句:

会发现:

期望是两个都失败(强检测字符集),或者两个都成功(弱检测字符集,直接将字符当做数据存储,不关心数据内容是什么),而不是一个成功一个失败。

问题的风险及影响

SQL语句执行失败。

问题影响的版本

所有版本。

问题发生原因

李强虽然是UTF8编码,但是在yasql按照GBK解析成功了(也是乱码,但是只要能等价转换就没有问题)。但是李不行,因为字符长度不对。

解决方法及规避方式

修改字符集到bash、yasql、yasdb的字符集一致。

问题分析和处理过程

看UTF8编码和GBK编码的原理,以及命令行、客户端、数据库都是如何处理字符的。

经验总结

尽量不要将命令行、客户端、数据库这三者的字符集配成不相同的。

相关推荐
龙亘川1 天前
【课程5.1】城管住建核心功能需求分析:市政设施、市容秩序等场景痛点拆解
数据库·oracle·智慧城市·城管住建
飞鸟真人1 天前
Redis面试常见问题详解
数据库·redis·面试
fanruitian1 天前
Springboot项目父子工程
java·数据库·spring boot
super_lzb1 天前
mybatis拦截器ParameterHandler详解
java·数据库·spring boot·spring·mybatis
CV工程师的自我修养1 天前
数据库出现死锁了。还不知道什么原因引起的?快来看看吧!
数据库
码界奇点1 天前
灵活性与高性能兼得KingbaseES 对 JSON 数据的全面支持深度解析
数据库·json·es
2501_941871451 天前
面向微服务链路追踪与全局上下文管理的互联网系统可观测性设计与多语言工程实践分享
大数据·数据库·python
·云扬·1 天前
MySQL单机多实例部署两种实用方法详解
数据库·mysql·adb
odoo中国1 天前
Pgpool-II 在 PostgreSQL 中的用例场景与优势
数据库·postgresql·中间件·pgpool
男孩李1 天前
postgres数据库常用命令介绍
数据库·postgresql