ITPub博客

首页 > 数据库 > 国内数据库 > 【YashanDB知识库】客户端字符集与数据库字符集兼容问题

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

国内数据库 作者:崖山数据库系统YashanDB 时间:2024-09-25 10:35:53 0 删除 编辑

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

问题现象

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

会发现:

image-2024-04-25-18-09-53-290

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

问题的风险及影响

SQL语句执行失败。

问题影响的版本

所有版本。

问题发生原因

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

image-2024-04-26-15-09-49-090

解决方法及规避方式

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

问题分析和处理过程

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

经验总结

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


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70028812/viewspace-3029079/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
崖山数据库系统YashanDB是深圳计算科学研究院完全自主研发设计的新型数据库系统,融入原创理论,支持单机/主备、共享集群、分布式等多种部署方式,覆盖OLTP/HTAP/OLAP交易和分析混合负载场景,为客户提供一站式的企业级融合数据管理解决方案。

注册时间:2023-04-11

  • 博文量
    722
  • 访问量
    639758