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

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

问题现象

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

会发现:

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

问题的风险及影响

SQL语句执行失败。

问题影响的版本

所有版本。

问题发生原因

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

解决方法及规避方式

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

问题分析和处理过程

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

经验总结

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

相关推荐
Python自动化直播8 分钟前
自动化笔记:素材管理、命名、轮换的几条土办法
linux·运维·数据库
xiaomuzuirenzhen10 分钟前
2027校招ERP实施顾问:大数据管理与应用专业如何用SQL、BI证明业务能力
大数据·数据库
底层玩家老张29 分钟前
从副本集到分片:百亿级文档数据的KES架构边界
数据库·分布式架构·分片·架构选型·文档数据库
ss27330 分钟前
AI时代首先数据库-PostgreSQL实战笔记 | 16 PostgreSQL子查询与嵌套查询(下)
数据库·笔记·postgresql
川石课堂软件测试1 小时前
涨薪技术|0到1学会性能测试第8课-Analysis分析图
服务器·数据库·python·sql·jmeter·mysql·容器
SelectDB技术团队1 小时前
云数仓成本结构拆解:五层计费模型与 Apache Doris 托管形态对照
大数据·数据库·elk·全文检索·snowflake
我命由我123451 小时前
SQL 检测脚本
java·数据库·sql·功能测试·单元测试·压力测试·可用性测试
Zenova EdgeOS1 小时前
工业网关数据全链路加密实战:从传输、静态数据到密钥轮
数据库·oracle·边缘计算·工业网关
太理摆烂哥2 小时前
MySQL表的约束
数据库·mysql
Crayon Lin2 小时前
Milvus向量数据库入门
数据库·milvus